http://git-wip-us.apache.org/repos/asf/polygene-website/blob/ea4d77b0/content/java/latest/extension-vs-orgjson.html
----------------------------------------------------------------------
diff --git a/content/java/latest/extension-vs-orgjson.html 
b/content/java/latest/extension-vs-orgjson.html
deleted file mode 100644
index b6cc68a..0000000
--- a/content/java/latest/extension-vs-orgjson.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";><html 
xmlns="http://www.w3.org/1999/xhtml";><head><meta http-equiv="Content-Type" 
content="text/html; charset=UTF-8" /><title>org.json 
ValueSerialization</title><link rel="stylesheet" type="text/css" 
href="css/style.css" /><meta name="generator" content="DocBook XSL Stylesheets 
V1.76.1" /><link rel="home" href="index.html" title="" /><link rel="up" 
href="extensions.html" title="Extensions" /><link rel="prev" 
href="extensions.html" title="Extensions" /><link rel="next" 
href="extension-vs-jackson.html" title="Jackson ValueSerialization" />
-
-
-<!-- favicon -->
-
-<link rel="shortcut icon" href="http://qi4j.org/favicon.ico"; 
type="image/vnd.microsoft.icon" />
-<link rel="icon" href="http://qi4j.org/favicon.ico"; type="image/x-icon" />
-
-<!-- style -->
-
-<link href="css/shCore.css" rel="stylesheet" type="text/css" />
-<link href="css/shCoreEclipse.css" rel="stylesheet" type="text/css" />
-<link href="css/shThemeEclipse.css" rel="stylesheet" type="text/css" />
-<link href="css/qi4j.css" rel="stylesheet" type="text/css" />
-
-<!-- Syntax Highlighter -->
-
-<script type="text/javascript" src="js/shCore.js"></script>
-<script type="text/javascript" src="js/shBrushJava.js"></script>
-<script type="text/javascript" src="js/shBrushScala.js"></script>
-<script type="text/javascript" src="js/shBrushJScript.js"></script>
-<script type="text/javascript" src="js/shBrushBash.js"></script>
-<script type="text/javascript" src="js/shBrushPlain.js"></script>
-<script type="text/javascript" src="js/shBrushXml.js"></script>
-<script type="text/javascript" src="js/shBrushGroovy.js"></script>
-<script type="text/javascript" src="js/shBrushPython.js"></script>
-<script type="text/javascript" src="js/shBrushRuby.js"></script>
-<script type="text/javascript" src="js/shBrushCSharp.js"></script>
-
-<script type="text/javascript">
-  SyntaxHighlighter.defaults['tab-size'] = 4;
-  SyntaxHighlighter.defaults['gutter'] = false;
-  SyntaxHighlighter.defaults['toolbar'] = false;
-  SyntaxHighlighter.all()
-</script>
-
-<!-- JQuery -->
-
-<script type="text/javascript" src="js/jquery-1.6.4.min.js"></script>
-
-<!-- Image Scaler -->
-
-<script type="text/javascript" src="js/imagescaler.js"></script>
-
-<!-- Table Styler -->
-
-<script type="text/javascript" src="js/tablestyler.js"></script>
-
-<!-- Qi4j WebSite Progressive Enhancement -->
-
-<link href="css/progressive-enhancement.css" rel="stylesheet" type="text/css" 
/>
-<script type="text/javascript" src="js/jquery.scrollTo-1.4.2.js"></script>
-<script type="text/javascript" src="js/progressive-enhancement.js"></script>
-
-<!-- Analytics -->
- <script type="text/javascript">
-  var _gaq = _gaq || [];
-  _gaq.push(['_setAccount', 'UA-89723617-1']);
-  _gaq.push(['_trackPageview']);
-
-  (function() {
-    var ga = document.createElement('script'); ga.type = 'text/javascript'; 
ga.async = true;
-    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 
'http://www') + '.google-analytics.com/ga.js';
-    var s = document.getElementsByTagName('script')[0]; 
s.parentNode.insertBefore(ga, s);
-  })();
- </script>
-
-  </head><body><div xmlns="" xmlns:exsl="http://exslt.org/common"; 
class="logo"><a href="index.html"><img src="images/logo-standard.png" 
/></a></div><div xmlns="" xmlns:exsl="http://exslt.org/common"; 
class="top-nav"><div xmlns="http://www.w3.org/1999/xhtml"; 
class="toc"><dl><dt><span class="section"><a 
href="index.html#home">Zest™</a></span></dt><dt><span class="section"><a 
href="intro.html">Introduction</a></span></dt><dt><span class="section"><a 
href="tutorials.html">Tutorials</a></span></dt><dt><span class="section"><a 
href="javadocs.html">Javadoc</a></span></dt><dt><span class="section"><a 
href="samples.html">Samples</a></span></dt><dt><span class="section"><a 
href="core.html">Core</a></span></dt><dt><span class="section"><a 
href="libraries.html">Libraries</a></span></dt><dt><span class="section"><span 
xmlns="" href="extensions.html">Extensions</span></span></dt><dt><span 
class="section"><a href="tools.html">Tools</a></span></dt><dt><span 
class="section"><a href="glossary.html">
 Glossary </a></span></dt></dl></div></div><div xmlns="" 
xmlns:exsl="http://exslt.org/common"; class="sub-nav"><div 
xmlns="http://www.w3.org/1999/xhtml"; class="toc"><dl><dt><span 
class="section"><a 
href="extensions.html#_overview_7">Overview</a></span></dt><dt><span 
class="section"><span xmlns="" href="extension-vs-orgjson.html">org.json 
ValueSerialization</span></span></dt><dt><span class="section"><a 
href="extension-vs-jackson.html">Jackson 
ValueSerialization</a></span></dt><dt><span class="section"><a 
href="extension-vs-stax.html">StAX ValueSerialization</a></span></dt><dt><span 
class="section"><a href="extension-cache-ehcache.html">Ehcache 
Cache</a></span></dt><dt><span class="section"><a 
href="extension-cache-memcache.html">Memcache Cache</a></span></dt><dt><span 
class="section"><a href="extension-es-memory.html">Memory 
EntityStore</a></span></dt><dt><span class="section"><a 
href="extension-es-file.html">File EntityStore</a></span></dt><dt><span 
class="section"><a href="extensio
 n-es-hazelcast.html">Hazelcast EntityStore</a></span></dt><dt><span 
class="section"><a href="extension-es-jclouds.html">JClouds 
EntityStore</a></span></dt><dt><span class="section"><a 
href="extension-es-jdbm.html">JDBM EntityStore</a></span></dt><dt><span 
class="section"><a href="extension-es-leveldb.html">LevelDB 
EntityStore</a></span></dt><dt><span class="section"><a 
href="extension-es-mongodb.html">MongoDB EntityStore</a></span></dt><dt><span 
class="section"><a href="extension-es-preferences.html">Preferences 
EntityStore</a></span></dt><dt><span class="section"><a 
href="extension-es-redis.html">Redis EntityStore</a></span></dt><dt><span 
class="section"><a href="extension-es-riak.html">Riak 
EntityStore</a></span></dt><dt><span class="section"><a 
href="extension-es-sql.html">SQL EntityStore</a></span></dt><dt><span 
class="section"><a href="extension-index-elasticsearch.html">ElasticSearch 
Index/Query</a></span></dt><dt><span class="section"><a 
href="extension-index-rdf.html">OpenRD
 F Index/Query</a></span></dt><dt><span class="section"><a 
href="extension-index-solr.html">Apache Solr 
Index/Query</a></span></dt><dt><span class="section"><a 
href="extension-indexing-sql.html">SQL Index/Query</a></span></dt><dt><span 
class="section"><a href="extension-metrics-yammer.html">Yammer 
Metrics</a></span></dt><dt><span class="section"><a 
href="extension-migration.html">Migration</a></span></dt><dt><span 
class="section"><a 
href="extension-reindexer.html">Reindexer</a></span></dt></dl></div></div><div 
class="section" title="org.json ValueSerialization"><div 
class="titlepage"><div><div><h3 class="title"><a 
id="extension-vs-orgjson"></a>org.json 
ValueSerialization</h3></div></div></div><p class="remark"><em><span 
class="comment"></span></em></p><p class="devstatus-code-stable">code</p><p 
class="devstatus-docs-good">docs</p><p 
class="devstatus-tests-complete">tests</p><p>ValueSerialization Service backed 
by <a class="ulink" href="https://github.com/douglascrockford/JSON-java"; t
 arget="_top">org.json</a>.</p><div class="table"><a 
id="idm371057447440"></a><p class="title"><strong>Table 55. 
Artifact</strong></p><div class="table-contents"><table summary="Artifact" 
border="1"><colgroup><col class="col_1" /><col class="col_2" /><col 
class="col_3" /></colgroup><thead><tr><th align="left" valign="top">Group 
ID</th><th align="left" valign="top">Artifact ID</th><th align="left" 
valign="top">Version</th></tr></thead><tbody><tr><td align="left" 
valign="top"><p>org.qi4j.extension</p></td><td align="left" 
valign="top"><p>org.qi4j.extension.valueserialization-orgjson</p></td><td 
align="left" valign="top"><p>2.1</p></td></tr></tbody></table></div></div><br 
class="table-break" /><div class="section" title="Assembly"><div 
class="titlepage"><div><div><h4 class="title"><a 
id="_assembly_5"></a>Assembly</h4></div></div></div><p>Assembly is done as 
follows:</p><pre class="programlisting brush: java">@Override
-public void assemble( ModuleAssembly module )
-    throws AssemblyException
-{
-    new OrgJsonValueSerializationAssembler().assemble( module );
-}
-</pre><p>See the ValueSerialization <a class="link" 
href="core-api.html#core-api-value" title="ValueComposite">API</a> and <a 
class="link" href="core-spi.html#core-spi-valueserialization" 
title="ValueSerialization SPI">SPI</a> documentation for details and
-usage.</p></div></div><div xmlns="" xmlns:exsl="http://exslt.org/common"; 
class="footer"><p>
-        Copyright © 2015 The Apache Software Foundation, Licensed under the 
<a href="http://www.apache.org/licenses/"; target="_blank">Apache License, 
Version 2.0</a>.
-        <br /><small>
-            Apache Zest, Zest, Apache, the Apache feather logo, and the Apache 
Zest project logo are trademarks of The Apache Software Foundation.<br />
-            All other marks mentioned may be trademarks or registered 
trademarks of their respective owners.
-        </small></p></div></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/polygene-website/blob/ea4d77b0/content/java/latest/extension-vs-stax.html
----------------------------------------------------------------------
diff --git a/content/java/latest/extension-vs-stax.html 
b/content/java/latest/extension-vs-stax.html
deleted file mode 100644
index 0000597..0000000
--- a/content/java/latest/extension-vs-stax.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";><html 
xmlns="http://www.w3.org/1999/xhtml";><head><meta http-equiv="Content-Type" 
content="text/html; charset=UTF-8" /><title>StAX 
ValueSerialization</title><link rel="stylesheet" type="text/css" 
href="css/style.css" /><meta name="generator" content="DocBook XSL Stylesheets 
V1.76.1" /><link rel="home" href="index.html" title="" /><link rel="up" 
href="extensions.html" title="Extensions" /><link rel="prev" 
href="extension-vs-jackson.html" title="Jackson ValueSerialization" /><link 
rel="next" href="extension-cache-ehcache.html" title="Ehcache Cache" />
-
-
-<!-- favicon -->
-
-<link rel="shortcut icon" href="http://qi4j.org/favicon.ico"; 
type="image/vnd.microsoft.icon" />
-<link rel="icon" href="http://qi4j.org/favicon.ico"; type="image/x-icon" />
-
-<!-- style -->
-
-<link href="css/shCore.css" rel="stylesheet" type="text/css" />
-<link href="css/shCoreEclipse.css" rel="stylesheet" type="text/css" />
-<link href="css/shThemeEclipse.css" rel="stylesheet" type="text/css" />
-<link href="css/qi4j.css" rel="stylesheet" type="text/css" />
-
-<!-- Syntax Highlighter -->
-
-<script type="text/javascript" src="js/shCore.js"></script>
-<script type="text/javascript" src="js/shBrushJava.js"></script>
-<script type="text/javascript" src="js/shBrushScala.js"></script>
-<script type="text/javascript" src="js/shBrushJScript.js"></script>
-<script type="text/javascript" src="js/shBrushBash.js"></script>
-<script type="text/javascript" src="js/shBrushPlain.js"></script>
-<script type="text/javascript" src="js/shBrushXml.js"></script>
-<script type="text/javascript" src="js/shBrushGroovy.js"></script>
-<script type="text/javascript" src="js/shBrushPython.js"></script>
-<script type="text/javascript" src="js/shBrushRuby.js"></script>
-<script type="text/javascript" src="js/shBrushCSharp.js"></script>
-
-<script type="text/javascript">
-  SyntaxHighlighter.defaults['tab-size'] = 4;
-  SyntaxHighlighter.defaults['gutter'] = false;
-  SyntaxHighlighter.defaults['toolbar'] = false;
-  SyntaxHighlighter.all()
-</script>
-
-<!-- JQuery -->
-
-<script type="text/javascript" src="js/jquery-1.6.4.min.js"></script>
-
-<!-- Image Scaler -->
-
-<script type="text/javascript" src="js/imagescaler.js"></script>
-
-<!-- Table Styler -->
-
-<script type="text/javascript" src="js/tablestyler.js"></script>
-
-<!-- Qi4j WebSite Progressive Enhancement -->
-
-<link href="css/progressive-enhancement.css" rel="stylesheet" type="text/css" 
/>
-<script type="text/javascript" src="js/jquery.scrollTo-1.4.2.js"></script>
-<script type="text/javascript" src="js/progressive-enhancement.js"></script>
-
-<!-- Analytics -->
- <script type="text/javascript">
-  var _gaq = _gaq || [];
-  _gaq.push(['_setAccount', 'UA-89723617-1']);
-  _gaq.push(['_trackPageview']);
-
-  (function() {
-    var ga = document.createElement('script'); ga.type = 'text/javascript'; 
ga.async = true;
-    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 
'http://www') + '.google-analytics.com/ga.js';
-    var s = document.getElementsByTagName('script')[0]; 
s.parentNode.insertBefore(ga, s);
-  })();
- </script>
-
-  </head><body><div xmlns="" xmlns:exsl="http://exslt.org/common"; 
class="logo"><a href="index.html"><img src="images/logo-standard.png" 
/></a></div><div xmlns="" xmlns:exsl="http://exslt.org/common"; 
class="top-nav"><div xmlns="http://www.w3.org/1999/xhtml"; 
class="toc"><dl><dt><span class="section"><a 
href="index.html#home">Zest™</a></span></dt><dt><span class="section"><a 
href="intro.html">Introduction</a></span></dt><dt><span class="section"><a 
href="tutorials.html">Tutorials</a></span></dt><dt><span class="section"><a 
href="javadocs.html">Javadoc</a></span></dt><dt><span class="section"><a 
href="samples.html">Samples</a></span></dt><dt><span class="section"><a 
href="core.html">Core</a></span></dt><dt><span class="section"><a 
href="libraries.html">Libraries</a></span></dt><dt><span class="section"><span 
xmlns="" href="extensions.html">Extensions</span></span></dt><dt><span 
class="section"><a href="tools.html">Tools</a></span></dt><dt><span 
class="section"><a href="glossary.html">
 Glossary </a></span></dt></dl></div></div><div xmlns="" 
xmlns:exsl="http://exslt.org/common"; class="sub-nav"><div 
xmlns="http://www.w3.org/1999/xhtml"; class="toc"><dl><dt><span 
class="section"><a 
href="extensions.html#_overview_7">Overview</a></span></dt><dt><span 
class="section"><a href="extension-vs-orgjson.html">org.json 
ValueSerialization</a></span></dt><dt><span class="section"><a 
href="extension-vs-jackson.html">Jackson 
ValueSerialization</a></span></dt><dt><span class="section"><span xmlns="" 
href="extension-vs-stax.html">StAX 
ValueSerialization</span></span></dt><dt><span class="section"><a 
href="extension-cache-ehcache.html">Ehcache Cache</a></span></dt><dt><span 
class="section"><a href="extension-cache-memcache.html">Memcache 
Cache</a></span></dt><dt><span class="section"><a 
href="extension-es-memory.html">Memory EntityStore</a></span></dt><dt><span 
class="section"><a href="extension-es-file.html">File 
EntityStore</a></span></dt><dt><span class="section"><a href="extensio
 n-es-hazelcast.html">Hazelcast EntityStore</a></span></dt><dt><span 
class="section"><a href="extension-es-jclouds.html">JClouds 
EntityStore</a></span></dt><dt><span class="section"><a 
href="extension-es-jdbm.html">JDBM EntityStore</a></span></dt><dt><span 
class="section"><a href="extension-es-leveldb.html">LevelDB 
EntityStore</a></span></dt><dt><span class="section"><a 
href="extension-es-mongodb.html">MongoDB EntityStore</a></span></dt><dt><span 
class="section"><a href="extension-es-preferences.html">Preferences 
EntityStore</a></span></dt><dt><span class="section"><a 
href="extension-es-redis.html">Redis EntityStore</a></span></dt><dt><span 
class="section"><a href="extension-es-riak.html">Riak 
EntityStore</a></span></dt><dt><span class="section"><a 
href="extension-es-sql.html">SQL EntityStore</a></span></dt><dt><span 
class="section"><a href="extension-index-elasticsearch.html">ElasticSearch 
Index/Query</a></span></dt><dt><span class="section"><a 
href="extension-index-rdf.html">OpenRD
 F Index/Query</a></span></dt><dt><span class="section"><a 
href="extension-index-solr.html">Apache Solr 
Index/Query</a></span></dt><dt><span class="section"><a 
href="extension-indexing-sql.html">SQL Index/Query</a></span></dt><dt><span 
class="section"><a href="extension-metrics-yammer.html">Yammer 
Metrics</a></span></dt><dt><span class="section"><a 
href="extension-migration.html">Migration</a></span></dt><dt><span 
class="section"><a 
href="extension-reindexer.html">Reindexer</a></span></dt></dl></div></div><div 
class="section" title="StAX ValueSerialization"><div 
class="titlepage"><div><div><h3 class="title"><a 
id="extension-vs-stax"></a>StAX ValueSerialization</h3></div></div></div><p 
class="remark"><em><span class="comment"></span></em></p><p 
class="devstatus-code-beta">code</p><p class="devstatus-docs-good">docs</p><p 
class="devstatus-tests-complete">tests</p><p>ValueSerialization Service backed 
by <a class="ulink" href="http://jcp.org/en/jsr/detail?id=173"; 
target="_top">StAX</a>.<
 /p><div class="table"><a id="idm371057405392"></a><p 
class="title"><strong>Table 57. Artifact</strong></p><div 
class="table-contents"><table summary="Artifact" border="1"><colgroup><col 
class="col_1" /><col class="col_2" /><col class="col_3" 
/></colgroup><thead><tr><th align="left" valign="top">Group ID</th><th 
align="left" valign="top">Artifact ID</th><th align="left" 
valign="top">Version</th></tr></thead><tbody><tr><td align="left" 
valign="top"><p>org.qi4j.extension</p></td><td align="left" 
valign="top"><p>org.qi4j.extension.valueserialization-stax</p></td><td 
align="left" valign="top"><p>2.1</p></td></tr></tbody></table></div></div><br 
class="table-break" /><div class="section" title="Assembly"><div 
class="titlepage"><div><div><h4 class="title"><a 
id="_assembly_7"></a>Assembly</h4></div></div></div><p>Assembly is done as 
follows:</p><pre class="programlisting brush: java">@Override
-public void assemble( ModuleAssembly module )
-    throws AssemblyException
-{
-    new StaxValueSerializationAssembler().assemble( module );
-}
-</pre><p>See the ValueSerialization <a class="link" 
href="core-api.html#core-api-value" title="ValueComposite">API</a> and <a 
class="link" href="core-spi.html#core-spi-valueserialization" 
title="ValueSerialization SPI">SPI</a> documentation for details and
-usage.</p></div></div><div xmlns="" xmlns:exsl="http://exslt.org/common"; 
class="footer"><p>
-        Copyright © 2015 The Apache Software Foundation, Licensed under the 
<a href="http://www.apache.org/licenses/"; target="_blank">Apache License, 
Version 2.0</a>.
-        <br /><small>
-            Apache Zest, Zest, Apache, the Apache feather logo, and the Apache 
Zest project logo are trademarks of The Apache Software Foundation.<br />
-            All other marks mentioned may be trademarks or registered 
trademarks of their respective owners.
-        </small></p></div></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/polygene-website/blob/ea4d77b0/content/java/latest/extensions.html
----------------------------------------------------------------------
diff --git a/content/java/latest/extensions.html 
b/content/java/latest/extensions.html
deleted file mode 100644
index 89c8475..0000000
--- a/content/java/latest/extensions.html
+++ /dev/null
@@ -1,94 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";><html 
xmlns="http://www.w3.org/1999/xhtml";><head><meta http-equiv="Content-Type" 
content="text/html; charset=UTF-8" /><title>Extensions</title><link 
rel="stylesheet" type="text/css" href="css/style.css" /><meta name="generator" 
content="DocBook XSL Stylesheets V1.76.1" /><link rel="home" href="index.html" 
title="" /><link rel="up" href="index.html" title="" /><link rel="prev" 
href="library-uowfile.html" title="UoWFile" /><link rel="next" 
href="extension-vs-orgjson.html" title="org.json ValueSerialization" />
-
-
-<!-- favicon -->
-
-<link rel="shortcut icon" href="http://qi4j.org/favicon.ico"; 
type="image/vnd.microsoft.icon" />
-<link rel="icon" href="http://qi4j.org/favicon.ico"; type="image/x-icon" />
-
-<!-- style -->
-
-<link href="css/shCore.css" rel="stylesheet" type="text/css" />
-<link href="css/shCoreEclipse.css" rel="stylesheet" type="text/css" />
-<link href="css/shThemeEclipse.css" rel="stylesheet" type="text/css" />
-<link href="css/qi4j.css" rel="stylesheet" type="text/css" />
-
-<!-- Syntax Highlighter -->
-
-<script type="text/javascript" src="js/shCore.js"></script>
-<script type="text/javascript" src="js/shBrushJava.js"></script>
-<script type="text/javascript" src="js/shBrushScala.js"></script>
-<script type="text/javascript" src="js/shBrushJScript.js"></script>
-<script type="text/javascript" src="js/shBrushBash.js"></script>
-<script type="text/javascript" src="js/shBrushPlain.js"></script>
-<script type="text/javascript" src="js/shBrushXml.js"></script>
-<script type="text/javascript" src="js/shBrushGroovy.js"></script>
-<script type="text/javascript" src="js/shBrushPython.js"></script>
-<script type="text/javascript" src="js/shBrushRuby.js"></script>
-<script type="text/javascript" src="js/shBrushCSharp.js"></script>
-
-<script type="text/javascript">
-  SyntaxHighlighter.defaults['tab-size'] = 4;
-  SyntaxHighlighter.defaults['gutter'] = false;
-  SyntaxHighlighter.defaults['toolbar'] = false;
-  SyntaxHighlighter.all()
-</script>
-
-<!-- JQuery -->
-
-<script type="text/javascript" src="js/jquery-1.6.4.min.js"></script>
-
-<!-- Image Scaler -->
-
-<script type="text/javascript" src="js/imagescaler.js"></script>
-
-<!-- Table Styler -->
-
-<script type="text/javascript" src="js/tablestyler.js"></script>
-
-<!-- Qi4j WebSite Progressive Enhancement -->
-
-<link href="css/progressive-enhancement.css" rel="stylesheet" type="text/css" 
/>
-<script type="text/javascript" src="js/jquery.scrollTo-1.4.2.js"></script>
-<script type="text/javascript" src="js/progressive-enhancement.js"></script>
-
-<!-- Analytics -->
- <script type="text/javascript">
-  var _gaq = _gaq || [];
-  _gaq.push(['_setAccount', 'UA-89723617-1']);
-  _gaq.push(['_trackPageview']);
-
-  (function() {
-    var ga = document.createElement('script'); ga.type = 'text/javascript'; 
ga.async = true;
-    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 
'http://www') + '.google-analytics.com/ga.js';
-    var s = document.getElementsByTagName('script')[0]; 
s.parentNode.insertBefore(ga, s);
-  })();
- </script>
-
-  </head><body><div xmlns="" xmlns:exsl="http://exslt.org/common"; 
class="logo"><a href="index.html"><img src="images/logo-standard.png" 
/></a></div><div xmlns="" xmlns:exsl="http://exslt.org/common"; 
class="top-nav"><div xmlns="http://www.w3.org/1999/xhtml"; 
class="toc"><dl><dt><span class="section"><a 
href="index.html#home">Zest™</a></span></dt><dt><span class="section"><a 
href="intro.html">Introduction</a></span></dt><dt><span class="section"><a 
href="tutorials.html">Tutorials</a></span></dt><dt><span class="section"><a 
href="javadocs.html">Javadoc</a></span></dt><dt><span class="section"><a 
href="samples.html">Samples</a></span></dt><dt><span class="section"><a 
href="core.html">Core</a></span></dt><dt><span class="section"><a 
href="libraries.html">Libraries</a></span></dt><dt><span class="section"><span 
xmlns="" href="extensions.html">Extensions</span></span></dt><dt><span 
class="section"><a href="tools.html">Tools</a></span></dt><dt><span 
class="section"><a href="glossary.html">
 Glossary </a></span></dt></dl></div></div><div xmlns="" 
xmlns:exsl="http://exslt.org/common"; class="sub-nav"><div 
xmlns="http://www.w3.org/1999/xhtml"; class="toc"><dl><dt><span 
class="section"><span xmlns="" 
href="extensions.html#_overview_7">Overview</span></span></dt><dt><span 
class="section"><a href="extension-vs-orgjson.html">org.json 
ValueSerialization</a></span></dt><dt><span class="section"><a 
href="extension-vs-jackson.html">Jackson 
ValueSerialization</a></span></dt><dt><span class="section"><a 
href="extension-vs-stax.html">StAX ValueSerialization</a></span></dt><dt><span 
class="section"><a href="extension-cache-ehcache.html">Ehcache 
Cache</a></span></dt><dt><span class="section"><a 
href="extension-cache-memcache.html">Memcache Cache</a></span></dt><dt><span 
class="section"><a href="extension-es-memory.html">Memory 
EntityStore</a></span></dt><dt><span class="section"><a 
href="extension-es-file.html">File EntityStore</a></span></dt><dt><span 
class="section"><a href="extensio
 n-es-hazelcast.html">Hazelcast EntityStore</a></span></dt><dt><span 
class="section"><a href="extension-es-jclouds.html">JClouds 
EntityStore</a></span></dt><dt><span class="section"><a 
href="extension-es-jdbm.html">JDBM EntityStore</a></span></dt><dt><span 
class="section"><a href="extension-es-leveldb.html">LevelDB 
EntityStore</a></span></dt><dt><span class="section"><a 
href="extension-es-mongodb.html">MongoDB EntityStore</a></span></dt><dt><span 
class="section"><a href="extension-es-preferences.html">Preferences 
EntityStore</a></span></dt><dt><span class="section"><a 
href="extension-es-redis.html">Redis EntityStore</a></span></dt><dt><span 
class="section"><a href="extension-es-riak.html">Riak 
EntityStore</a></span></dt><dt><span class="section"><a 
href="extension-es-sql.html">SQL EntityStore</a></span></dt><dt><span 
class="section"><a href="extension-index-elasticsearch.html">ElasticSearch 
Index/Query</a></span></dt><dt><span class="section"><a 
href="extension-index-rdf.html">OpenRD
 F Index/Query</a></span></dt><dt><span class="section"><a 
href="extension-index-solr.html">Apache Solr 
Index/Query</a></span></dt><dt><span class="section"><a 
href="extension-indexing-sql.html">SQL Index/Query</a></span></dt><dt><span 
class="section"><a href="extension-metrics-yammer.html">Yammer 
Metrics</a></span></dt><dt><span class="section"><a 
href="extension-migration.html">Migration</a></span></dt><dt><span 
class="section"><a 
href="extension-reindexer.html">Reindexer</a></span></dt></dl></div></div><div 
class="section" title="Extensions"><div class="titlepage"><div><div><h2 
class="title"><a id="extensions"></a>Extensions</h2></div></div></div><div 
class="section" title="Overview"><div class="titlepage"><div><div><h3 
class="title"><a id="_overview_7"></a>Overview</h3></div></div></div><p>We try 
to keep the Zest™ Core Runtime as lean as possible, and a lot of the power to 
the Zest™ Platform comes via its
-Extension SPI, which defines clear ways to extend the platform. There are 
currently the following Extensions types,
-each with possibly more than one implementation;</p><div 
class="itemizedlist"><ul class="itemizedlist"><li class="listitem">
-Value Serialization
-</li><li class="listitem">
-Entity Stores
-</li><li class="listitem">
-Index / Query Engines
-</li><li class="listitem">
-Entity Caches
-</li><li class="listitem">
-Metrics Gathering
-</li><li class="listitem">
-Reindexing
-</li><li class="listitem">
-Migration
-</li></ul></div><p>This section will go through each of the available 
extensions.
-The Zest™ Extensions are of varying maturity level and we try to maintain a 
STATUS (dev-status.xml) file indicating
-how good the codebase, documentation and unit tests are for each of the 
libraries. This is highly subjective and
-potentially different individuals will judge this differently, but at least it 
gives a ballpark idea of the situation
-for our users.</p></div></div><div xmlns="" 
xmlns:exsl="http://exslt.org/common"; class="footer"><p>
-        Copyright © 2015 The Apache Software Foundation, Licensed under the 
<a href="http://www.apache.org/licenses/"; target="_blank">Apache License, 
Version 2.0</a>.
-        <br /><small>
-            Apache Zest, Zest, Apache, the Apache feather logo, and the Apache 
Zest project logo are trademarks of The Apache Software Foundation.<br />
-            All other marks mentioned may be trademarks or registered 
trademarks of their respective owners.
-        </small></p></div></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/polygene-website/blob/ea4d77b0/content/java/latest/glossary.html
----------------------------------------------------------------------
diff --git a/content/java/latest/glossary.html 
b/content/java/latest/glossary.html
deleted file mode 100644
index 326f0b1..0000000
--- a/content/java/latest/glossary.html
+++ /dev/null
@@ -1,257 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";><html 
xmlns="http://www.w3.org/1999/xhtml";><head><meta http-equiv="Content-Type" 
content="text/html; charset=UTF-8" /><title>Glossary </title><link 
rel="stylesheet" type="text/css" href="css/style.css" /><meta name="generator" 
content="DocBook XSL Stylesheets V1.76.1" /><link rel="home" href="index.html" 
title="" /><link rel="up" href="index.html" title="" /><link rel="prev" 
href="tools-envisage.html" title="Envisage" />
-
-
-<!-- favicon -->
-
-<link rel="shortcut icon" href="http://qi4j.org/favicon.ico"; 
type="image/vnd.microsoft.icon" />
-<link rel="icon" href="http://qi4j.org/favicon.ico"; type="image/x-icon" />
-
-<!-- style -->
-
-<link href="css/shCore.css" rel="stylesheet" type="text/css" />
-<link href="css/shCoreEclipse.css" rel="stylesheet" type="text/css" />
-<link href="css/shThemeEclipse.css" rel="stylesheet" type="text/css" />
-<link href="css/qi4j.css" rel="stylesheet" type="text/css" />
-
-<!-- Syntax Highlighter -->
-
-<script type="text/javascript" src="js/shCore.js"></script>
-<script type="text/javascript" src="js/shBrushJava.js"></script>
-<script type="text/javascript" src="js/shBrushScala.js"></script>
-<script type="text/javascript" src="js/shBrushJScript.js"></script>
-<script type="text/javascript" src="js/shBrushBash.js"></script>
-<script type="text/javascript" src="js/shBrushPlain.js"></script>
-<script type="text/javascript" src="js/shBrushXml.js"></script>
-<script type="text/javascript" src="js/shBrushGroovy.js"></script>
-<script type="text/javascript" src="js/shBrushPython.js"></script>
-<script type="text/javascript" src="js/shBrushRuby.js"></script>
-<script type="text/javascript" src="js/shBrushCSharp.js"></script>
-
-<script type="text/javascript">
-  SyntaxHighlighter.defaults['tab-size'] = 4;
-  SyntaxHighlighter.defaults['gutter'] = false;
-  SyntaxHighlighter.defaults['toolbar'] = false;
-  SyntaxHighlighter.all()
-</script>
-
-<!-- JQuery -->
-
-<script type="text/javascript" src="js/jquery-1.6.4.min.js"></script>
-
-<!-- Image Scaler -->
-
-<script type="text/javascript" src="js/imagescaler.js"></script>
-
-<!-- Table Styler -->
-
-<script type="text/javascript" src="js/tablestyler.js"></script>
-
-<!-- Qi4j WebSite Progressive Enhancement -->
-
-<link href="css/progressive-enhancement.css" rel="stylesheet" type="text/css" 
/>
-<script type="text/javascript" src="js/jquery.scrollTo-1.4.2.js"></script>
-<script type="text/javascript" src="js/progressive-enhancement.js"></script>
-
-<!-- Analytics -->
- <script type="text/javascript">
-  var _gaq = _gaq || [];
-  _gaq.push(['_setAccount', 'UA-89723617-1']);
-  _gaq.push(['_trackPageview']);
-
-  (function() {
-    var ga = document.createElement('script'); ga.type = 'text/javascript'; 
ga.async = true;
-    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 
'http://www') + '.google-analytics.com/ga.js';
-    var s = document.getElementsByTagName('script')[0]; 
s.parentNode.insertBefore(ga, s);
-  })();
- </script>
-
-  </head><body><div xmlns="" xmlns:exsl="http://exslt.org/common"; 
class="logo"><a href="index.html"><img src="images/logo-standard.png" 
/></a></div><div xmlns="" xmlns:exsl="http://exslt.org/common"; 
class="top-nav"><div xmlns="http://www.w3.org/1999/xhtml"; 
class="toc"><dl><dt><span class="section"><a 
href="index.html#home">Zest™</a></span></dt><dt><span class="section"><a 
href="intro.html">Introduction</a></span></dt><dt><span class="section"><a 
href="tutorials.html">Tutorials</a></span></dt><dt><span class="section"><a 
href="javadocs.html">Javadoc</a></span></dt><dt><span class="section"><a 
href="samples.html">Samples</a></span></dt><dt><span class="section"><a 
href="core.html">Core</a></span></dt><dt><span class="section"><a 
href="libraries.html">Libraries</a></span></dt><dt><span class="section"><a 
href="extensions.html">Extensions</a></span></dt><dt><span class="section"><a 
href="tools.html">Tools</a></span></dt><dt><span class="section"><span xmlns="" 
href="glossary.html">Glo
 ssary </span></span></dt></dl></div></div><div xmlns="" 
xmlns:exsl="http://exslt.org/common"; class="sub-nav"></div><div class="section" 
title="Glossary "><div class="titlepage"><div><div><h2 class="title"><a 
id="glossary"></a>Glossary </h2></div></div></div><div class="glossary" 
title="Glossary"><div class="titlepage"><div><div><h3 class="title"><a 
id="_glossary"></a>Glossary</h3></div></div></div><p>There are a lot of 
concepts in Zest™ which may have different meanings in other contexts. So in 
true DDD-style
-ubiquitous language, we are here listing the definitions of the terms and 
concepts that are being used.</p><dl><dt>
-<a id="def-abstract-mixin"></a>Abstract Mixin
-</dt><dd><p>An Abstract Mixin is an implementation of the <a class="xref" 
href="glossary.html#def-mixin-type">MixinType</a> interface, but is an abstract 
class and has not
-implemented all the methods.</p><p>The Zest™ runtime can use multiple <a 
class="link" href="glossary.html#def-mixin">Mixins</a> for each <a class="xref" 
href="glossary.html#def-mixin-type">MixinType</a> interface. It is also 
possible to let
-a <a class="xref" href="glossary.html#def-generic-mixin">Generic Mixin</a> 
handle the remaining missing methods.</p></dd><dt>
-<a id="def-abstract-modifier"></a>Abstract Modifier
-</dt><dd><p>Abstract Modifiers are <a class="link" 
href="glossary.html#def-modifier">Modifiers</a> that do not implement all the 
methods of the <a class="xref" href="glossary.html#def-mixin-type">MixinType</a>
-interface.</p><p>This works essentially in the same manner as the <a 
class="xref" href="glossary.html#def-abstract-mixin">Abstract Mixin</a>. And 
the methods that are not implemented
-will not be part of the <a class="xref" 
href="glossary.html#def-invocation-stack">Invocation Stack</a> of those 
methods.</p></dd><dt>
-<a id="def-application"></a>Application
-</dt><dd><p>Application is the top level concept handled by the Zest™ 
runtime instance. It holds the information about the
-<a class="link" href="glossary.html#def-layer">Layers</a> in the application 
architecture. See <a class="xref" 
href="glossary.html#def-structure">Structure</a> for more 
information.</p><p>There is one and only one Application instance per Zest™ 
Runtime instance.</p></dd><dt>
-<a id="def-application-mode"></a>Application Mode
-</dt><dd><p>During the Bootstrap phase an <a class="xref" 
href="glossary.html#def-application">Application</a> is given a Mode that can 
be <span class="emphasis"><em>test</em></span>, <span 
class="emphasis"><em>development</em></span>, <span 
class="emphasis"><em>staging</em></span> or
-<span class="emphasis"><em>production</em></span>.</p><p>See <a class="xref" 
href="core-bootstrap-assembly.html" title="Core 
Bootstrap">Assembly</a>.</p></dd><dt>
-<a id="def-association"></a>Association
-</dt><dd><p>An Association is a reference to an <a class="xref" 
href="glossary.html#def-entitycomposite">Entity Composite</a>.</p><p>References 
to <a class="link" href="glossary.html#def-entitycomposite">Entities</a> must 
be maintained in <a class="link" 
href="glossary.html#def-association">Associations</a>. It is illegal to
-define a <a class="xref" href="glossary.html#def-property">Property</a> with 
an <a class="xref" href="glossary.html#def-entitycomposite">Entity 
Composite</a> as its type.</p></dd><dt>
-<a id="def-composite"></a>Composite
-</dt><dd><p>A Composite is an instance of a <a class="xref" 
href="glossary.html#def-composite-type">Composite Type</a>.</p><p>However, we 
often speak of Composites when we actually mean CompositeType, similarly as we 
often speak of objects
-when we really are talking of classes in OOP.</p></dd><dt>
-<a id="def-composite-context"></a>Composite Context
-</dt><dd><p>A Composite Context is a mechanism to separate the state of a <a 
class="xref" href="glossary.html#def-transientcomposite">TransientComposite</a> 
across two or more threads.
-If a thread modifies a value, only that thread will see the changes, another 
thread will have its values protected
-by the thread boundaries. Use-cases for this include user credentials on which 
behalf the thread is executing.</p></dd><dt>
-<a id="def-composite-metatype"></a>Composite Meta Type
-</dt><dd><p>There are 5 Composite Meta Types defined in Zest, which each share 
the composition features but have distinct
-semantic differences.</p><div class="itemizedlist"><ul 
class="itemizedlist"><li class="listitem">
-<a class="xref" href="glossary.html#def-entitycomposite">Entity Composite</a>
-</li><li class="listitem">
-<a class="xref" href="glossary.html#def-valuecomposite">ValueComposite</a>
-</li><li class="listitem">
-<a class="xref" href="glossary.html#def-servicecomposite">Service composite</a>
-</li><li class="listitem">
-<a class="xref" href="glossary.html#def-configurationcomposite">Configuration 
Composite</a> (subtype of EntityComposite)
-</li><li class="listitem">
-<a class="xref" 
href="glossary.html#def-transientcomposite">TransientComposite</a>
-</li></ul></div></dd><dt>
-<a id="def-composite-type"></a>Composite Type
-</dt><dd><p>CompositeType is the Java interface that declares the composition, 
from which <a class="xref" href="glossary.html#def-composite">Composite</a> 
instances can be
-created.</p><p>Composite Type interfaces must be a sub-type of one of the 5 <a 
class="link" href="glossary.html#def-composite-metatype">Composite Meta 
Types</a> defined in
-Zest™ otherwise it can not be instantiated.</p></dd><dt>
-<a id="def-concern"></a>Concern
-</dt><dd><p>A concern is a stateless <a class="xref" 
href="glossary.html#def-fragment">Fragment</a>, shared between invocations, 
that acts as an interceptor of the call to
-the <a class="xref" href="glossary.html#def-mixin">Mixin</a>. The Concern is a 
Java class, that either implements the <a class="xref" 
href="glossary.html#def-mixin-type">MixinType</a> it can be used on, or
-java.lang.reflect.InvocationHandler which allows it to be used on any 
arbitrary <a class="xref" 
href="glossary.html#def-mixin-type">MixinType</a>.</p><p>Concerns have many 
purposes, but they are not intended to produce side effects (see <a 
class="xref" href="glossary.html#def-sideeffect">SideEffect</a>). Use-cases
-involves;</p><div class="itemizedlist"><ul class="itemizedlist"><li 
class="listitem">
-Transaction handling.
-</li><li class="listitem">
-Call Tracing.
-</li><li class="listitem">
-User security.
-</li></ul></div><p>Concerns are established by the use of the @Concerns 
annotation on composites.</p><p>Concern is one of the 3 kinds of <a 
class="link" href="glossary.html#def-modifier">Modifiers</a> defined in 
Zest.</p></dd><dt>
-<a id="def-configurationcomposite"></a>Configuration Composite
-</dt><dd><p>Service Composites can have configuration associated to it and 
that is done via
-<a class="link" href="glossary.html#def-configurationcomposite">Configuration 
Composites</a>, which are a subtype of <a class="xref" 
href="glossary.html#def-entitycomposite">Entity Composite</a>, as they are
-stored permanently in configured Entity Stores. Configuration Composites are 
also initialized automatically from
-properties files first time. Note that on consequent start-ups the properties 
file is not read, as the configuration is
-read from the EntityStore.</p><p>ConfigurationComposite is one of the 5 <a 
class="link" href="glossary.html#def-composite-metatype">Composite Meta 
Types</a> defined in Zest.</p><p>See <a class="xref" 
href="howto-configure-service.html" title="Configure a Service">Configure a 
Service</a> to learn how to use Configuration Composites.</p></dd><dt>
-<a id="def-constraint"></a>Constraint
-</dt><dd><p>Constraints are a kind of validators, which are consulted prior to 
invoking the method call. Zest™ currently only
-supports ParameterConstraints on methods and value constraints on <a 
class="link" href="glossary.html#def-property">Properties</a>, but future 
versions will
-include Constraint types for checking complete method calls and return 
values.</p><p>See <a class="xref" href="core-api.html#core-api-constraint" 
title="Constraint">Constraint</a> for better understanding of its 
details.</p><p>See <a class="xref" href="library-constraints.html" 
title="Constraints">Constraints Library</a> for ready to use 
Constraints.</p><p>See <a class="xref" href="howto-create-constraint.html" 
title="Create a Constraint">Create a Constraint</a> to learn how to write your 
own Constraints.</p><p>Constraint is one of the 3 kinds of <a class="link" 
href="glossary.html#def-modifier">Modifiers</a> defined in Zest.</p></dd><dt>
-<a id="def-entitycomposite"></a>Entity Composite
-</dt><dd><p>An Entity Composite, or just Entity for short, is a persisted 
composite with an <a class="xref" 
href="glossary.html#def-identity">Identity</a>. An entity only has
-scope within an <a class="xref" 
href="glossary.html#def-unitofwork">UnitOfWork</a> and is therefor inherently 
thread-safe.</p><p>EntityComposite is one of the 5 <a class="link" 
href="glossary.html#def-composite-metatype">Composite Meta Types</a> defined in 
Zest.</p></dd><dt>
-<a id="def-fragment"></a>Fragment
-</dt><dd><p>A part of the implementation of a <a class="xref" 
href="glossary.html#def-composite">Composite</a>. There are 4 fragment 
types:</p><div class="itemizedlist"><ul class="itemizedlist"><li 
class="listitem">
-<a class="xref" href="glossary.html#def-mixin">Mixin</a>
-</li><li class="listitem">
-<a class="xref" href="glossary.html#def-concern">Concern</a>
-</li><li class="listitem">
-<a class="xref" href="glossary.html#def-constraint">Constraint</a>
-</li><li class="listitem">
-<a class="xref" href="glossary.html#def-sideeffect">SideEffect</a>.
-</li></ul></div></dd><dt>
-<a id="def-generic-fragment"></a>Generic Fragment
-</dt><dd><p>Generic Fragments are <a class="link" 
href="glossary.html#def-fragment">Fragments</a> that implements 
java.lang.reflect.InvocationHandler and potentially
-capable of being used for all <a class="link" 
href="glossary.html#def-mixin-type">MixinTypes</a>. This is the direct opposite 
of the Typed Fragments, which
-implements the <a class="xref" 
href="glossary.html#def-mixin-type">MixinType</a> interface.</p></dd><dt>
-<a id="def-generic-mixin"></a>Generic Mixin
-</dt><dd><p>A Generic Mixin implements the 
java.lang.reflect.InvocationHandler. The invoke() method will be called for all
-<a class="xref" href="glossary.html#def-mixin-type">MixinType</a> methods that 
the <a class="xref" href="glossary.html#def-mixin">Mixin</a> has been matched 
with, through the matching rules.</p><p>It is potentially possible that the 
Generic Mixin also implements the <a class="xref" 
href="glossary.html#def-mixin-type">MixinType</a> interface. In that case, the
-concrete methods will be called, but if the <a class="xref" 
href="glossary.html#def-mixin">Mixin</a> is also an abstract class, then the 
invoke() method will be
-called for the methods that has been match but are not present.</p></dd><dt>
-<a id="def-identity"></a>Identity
-</dt><dd><p>TODO</p><p>This term has no definition yet. Learn how to 
contribute in <a class="xref" href="community-docs.html" title="Writing Zest™ 
Documentation">Writing Documentation</a>.</p></dd><dt>
-<a id="def-invocation-stack"></a>Invocation Stack
-</dt><dd><p>For each method, Qi4J will create and re-use an Invocation Stack. 
It will be built with the sequence of
-<a class="link" href="glossary.html#def-modifier">Modifiers</a> and an 
end-point that will link into the stateful <a class="xref" 
href="glossary.html#def-mixin">Mixin</a>.</p><p>It is important to recognize 
that, for memory footprint reasons, Invocation Stacks are shared across
-<a class="link" href="glossary.html#def-composite">Composites</a> of the same 
<a class="xref" href="glossary.html#def-composite-type">Composite Type</a>. 
They are however thread-safe, in that Zest™ will never
-bind the same Invocation Stack to more than one <a class="xref" 
href="glossary.html#def-composite">Composite</a> instance during a method call, 
but that between method
-invocations the <a class="link" 
href="glossary.html#def-modifier">Modifiers</a> in the Invocation Stack can not 
assume that it is bound to the same
-<a class="xref" href="glossary.html#def-composite">Composite</a> instance. 
Therefor, <a class="link" href="glossary.html#def-modifier">Modifiers</a> are 
not expected to keep state between method
-invocations, and when it needs to do that, then it should reference a <a 
class="xref" href="glossary.html#def-mixin">Mixin</a> via the @This annotation. 
Zest™ will
-during the binding of the Invocation Stack to the <a class="xref" 
href="glossary.html#def-composite">Composite</a>, also ensure that all 
referenced
-<a class="link" href="glossary.html#def-mixin">Mixins</a> are correctly 
injected in the Invocation Stack.</p></dd><dt>
-<a id="def-layer"></a>Layer
-</dt><dd><p>Zest™ promotes a Layered application design, where Layers can 
only access lower Layers and not higher Layers or Layers at
-the same level.</p></dd><dt>
-<a id="def-manyassociation"></a>ManyAssociation
-</dt><dd><p>TODO</p><p>This term has no definition yet. Learn how to 
contribute in <a class="xref" href="community-docs.html" title="Writing Zest™ 
Documentation">Writing Documentation</a>.</p></dd><dt>
-<a id="def-metainfo"></a>MetaInfo
-</dt><dd><p>TODO</p><p>This term has no definition yet. Learn how to 
contribute in <a class="xref" href="community-docs.html" title="Writing Zest™ 
Documentation">Writing Documentation</a>.</p></dd><dt>
-<a id="def-mixin"></a>Mixin
-</dt><dd><p>The Mixin is the instance providing the stateful representation of 
the <a class="xref" href="glossary.html#def-mixin-type">MixinType</a>. This can 
either be a class
-implementing the <a class="xref" 
href="glossary.html#def-mixin-type">MixinType</a> or a 
java.lang.reflect.InvocationHandler that is generic to handle any or a subset
-of <a class="xref" 
href="glossary.html#def-mixin-type">MixinType</a>.</p></dd><dt>
-<a id="def-mixin-type"></a>MixinType
-</dt><dd><p>The MixinType is the static type of a part of the <a class="xref" 
href="glossary.html#def-composite">Composite</a>. The MixinType is an interface 
that defines the methods
-to be exposed in the <a class="xref" 
href="glossary.html#def-composite">Composite</a>.</p></dd><dt>
-<a id="def-modifier"></a>Modifier
-</dt><dd><p>Modifiers are stateless interceptors of method calls, that forms 
an <a class="xref" href="glossary.html#def-invocation-stack">Invocation 
Stack</a>. The top of the
-<a class="xref" href="glossary.html#def-invocation-stack">Invocation Stack</a> 
is linked to the <a class="xref" 
href="glossary.html#def-composite">Composite</a> invocation handler and the 
bottom of the
-<a class="xref" href="glossary.html#def-invocation-stack">Invocation Stack</a> 
is linked to the <a class="link" href="glossary.html#def-mixin">Mixins</a>. <a 
class="link" href="glossary.html#def-invocation-stack">Invocation Stacks</a> 
are shared,
-so Modifiers must assume that the member fields will only be valid within a 
single method invocation.</p><p>There are 3 kinds of Modifiers;</p><div 
class="itemizedlist"><ul class="itemizedlist"><li class="listitem">
-<a class="xref" href="glossary.html#def-constraint">Constraint</a>
-</li><li class="listitem">
-<a class="xref" href="glossary.html#def-concern">Concern</a>
-</li><li class="listitem">
-<a class="xref" href="glossary.html#def-sideeffect">SideEffect</a>
-</li></ul></div></dd><dt>
-<a id="def-module"></a>Module
-</dt><dd><p>Modules defines the scope of the <a class="link" 
href="glossary.html#def-composite">Composites</a>. Modules are wired with 
Assemblies, and can expose
-<a class="link" href="glossary.html#def-composite">Composites</a> as visible. 
Non-visible <a class="link" href="glossary.html#def-composite">Composites</a> 
are not reachable from other Modules.</p></dd><dt>
-<a id="def-namedassociation"></a>NamedAssociation
-</dt><dd><p>TODO</p><p>This term has no definition yet. Learn how to 
contribute in <a class="xref" href="community-docs.html" title="Writing Zest™ 
Documentation">Writing Documentation</a>.</p></dd><dt>
-<a id="def-private-mixin"></a>Private Mixin
-</dt><dd><p>When a @This injection refers to a <a class="xref" 
href="glossary.html#def-mixin-type">MixinType</a> which is not extended by the 
<a class="xref" href="glossary.html#def-composite-type">Composite Type</a> the 
former
-becomes a private <a class="xref" 
href="glossary.html#def-mixin-type">MixinType</a>.</p></dd><dt>
-<a id="def-property"></a>Property
-</dt><dd><p>TODO</p><p>This term has no definition yet. Learn how to 
contribute in <a class="xref" href="community-docs.html" title="Writing Zest™ 
Documentation">Writing Documentation</a>.</p><p>See the <a class="xref" 
href="howto-leverage-properties.html" title="Leverage Properties">Leverage 
Properties</a> how-to.</p></dd><dt>
-<a id="def-servicecomposite"></a>Service Composite
-</dt><dd><p>Service Composite is a subtype of <a class="xref" 
href="glossary.html#def-composite">Composite</a>, and has a range of features 
built into it.</p><p>ServiceComposite is one of the 5 <a class="link" 
href="glossary.html#def-composite-metatype">Composite Meta Types</a> defined in 
Zest.</p><p>See the <a class="link" href="core-api.html#core-api-service" 
title="Service Composite">Service Composite chapter</a>.</p></dd><dt>
-<a id="def-sideeffect"></a>SideEffect
-</dt><dd><p>A side effect is a stateless <a class="xref" 
href="glossary.html#def-fragment">Fragment</a>, shared between invocations, 
that acts as an interceptor of the call to
-the <a class="xref" href="glossary.html#def-mixin">Mixin</a>. The SideEffect 
is a Java class, that either implements the <a class="xref" 
href="glossary.html#def-mixin-type">MixinType</a> it can be used on, or
-java.lang.reflect.InvocationHandler which allows it to be used on any 
arbitrary <a class="xref" 
href="glossary.html#def-mixin-type">MixinType</a>.</p><p>SideEffects are 
executed after the completion of the method invocation and therefore cannot 
change parameters nor
-eventually returned object.</p><p>SideEffects have many purposes. Use-cases
-involves;</p><div class="itemizedlist"><ul class="itemizedlist"><li 
class="listitem">
-Sending emails.
-</li><li class="listitem">
-Call Tracing.
-</li><li class="listitem">
-Domain side effects modeling.
-</li></ul></div><p>SideEffects are established by the use of the @SideEffects 
annotation on composites.</p><p>SideEffect is one of the 3 kinds of <a 
class="link" href="glossary.html#def-modifier">Modifiers</a> defined in 
Zest.</p></dd><dt>
-<a id="def-structure"></a>Structure
-</dt><dd><p>Zest™ promotes a conventional view of application structure, 
that computer science has been using for decades.</p><p>The definition is as 
follows;</p><div class="itemizedlist"><ul class="itemizedlist"><li 
class="listitem">
-One <a class="xref" href="glossary.html#def-application">Application</a> per 
Zest™ runtime instance.
-</li><li class="listitem">
-One or more <a class="link" href="glossary.html#def-layer">Layers</a> per <a 
class="xref" href="glossary.html#def-application">Application</a>.
-</li><li class="listitem">
-Zero, one or more <a class="link" href="glossary.html#def-module">Modules</a> 
per <a class="xref" href="glossary.html#def-layer">Layer</a>.
-</li><li class="listitem">
-Zero, one or more Assemblies per <a class="xref" 
href="glossary.html#def-module">Module</a>.
-</li></ul></div><p>The principle of this Structure is to assist the programmer 
to create well modularized applications, that are easily
-extended and maintained. Zest™ will restrict access between <a class="link" 
href="glossary.html#def-module">Modules</a>, so that code can only reach
-<a class="link" href="glossary.html#def-composite">Composites</a> and Objects 
in <a class="link" href="glossary.html#def-module">Modules</a> (including 
itself) of the same or lower
-<a class="link" href="glossary.html#def-layer">Layers</a>.</p><p>Each <a 
class="xref" href="glossary.html#def-layer">Layer</a> has to be declared which 
lower <a class="link" href="glossary.html#def-layer">Layer(s)</a> it uses, and 
it is not allowed that a lower
-<a class="xref" href="glossary.html#def-layer">Layer</a> uses a higher <a 
class="xref" href="glossary.html#def-layer">Layer</a>, i.e. cyclic 
references.</p></dd><dt>
-<a id="def-transientcomposite"></a>TransientComposite
-</dt><dd><p>TransientComposite is a <a class="xref" 
href="glossary.html#def-composite-metatype">Composite Meta Type</a> for all 
other cases. The main characteristics are;</p><div class="itemizedlist"><ul 
class="itemizedlist"><li class="listitem">
-It can not be serialized nor persisted.
-</li><li class="listitem">
-hashcode/equals are not treated specially and will be delegated to <a 
class="link" href="glossary.html#def-fragment">Fragment(s)</a> implementing 
those methods.
-</li><li class="listitem">
-It can not be used as a <a class="xref" 
href="glossary.html#def-property">Property</a> type.
-</li></ul></div></dd><dt>
-<a id="def-unitofwork"></a>UnitOfWork
-</dt><dd><p>TODO</p><p>This term has no definition yet. Learn how to 
contribute in <a class="xref" href="community-docs.html" title="Writing Zest™ 
Documentation">Writing Documentation</a>.</p></dd><dt>
-<a id="def-valuecomposite"></a>ValueComposite
-</dt><dd><p>Usage of value objects is one of the most ignored and best 
return-on-investment the programmer can do. Values are
-immutable and can be compared by value instead of memory reference. 
Concurrency is suddenly not an issue, since either
-the value exists or it doesn’t, no need for synchronization. Values are 
typically very easy to test and very robust to
-refactoring.</p><p>Zest™ defines values as a primary meta type through the 
ValueComposite, as we think the benefits of values are great.
-The ValueComposite is very light-weight compared to the <a class="xref" 
href="glossary.html#def-entitycomposite">Entity Composite</a>, and its value 
can still be persisted as
-part of an <a class="xref" href="glossary.html#def-entitycomposite">Entity 
Composite</a> via a <a class="xref" 
href="glossary.html#def-property">Property</a>.</p><p>The characteristics of a 
ValueComposite compared to other <a class="link" 
href="glossary.html#def-composite-metatype">Composite Meta Types</a> 
are;</p><div class="itemizedlist"><ul class="itemizedlist"><li class="listitem">
-It is Immutable.
-</li><li class="listitem">
-Its equals/hashCode works on the values of the ValueComposite.
-</li><li class="listitem">
-Can be used as <a class="xref" href="glossary.html#def-property">Property</a> 
types, but will not be indexed and searchable.
-</li></ul></div></dd></dl></div></div><div xmlns="" 
xmlns:exsl="http://exslt.org/common"; class="footer"><p>
-        Copyright © 2015 The Apache Software Foundation, Licensed under the 
<a href="http://www.apache.org/licenses/"; target="_blank">Apache License, 
Version 2.0</a>.
-        <br /><small>
-            Apache Zest, Zest, Apache, the Apache feather logo, and the Apache 
Zest project logo are trademarks of The Apache Software Foundation.<br />
-            All other marks mentioned may be trademarks or registered 
trademarks of their respective owners.
-        </small></p></div></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/polygene-website/blob/ea4d77b0/content/java/latest/howto-assemble-application.html
----------------------------------------------------------------------
diff --git a/content/java/latest/howto-assemble-application.html 
b/content/java/latest/howto-assemble-application.html
deleted file mode 100644
index 5754602..0000000
--- a/content/java/latest/howto-assemble-application.html
+++ /dev/null
@@ -1,228 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";><html 
xmlns="http://www.w3.org/1999/xhtml";><head><meta http-equiv="Content-Type" 
content="text/html; charset=UTF-8" /><title>Assemble an 
Application</title><link rel="stylesheet" type="text/css" href="css/style.css" 
/><meta name="generator" content="DocBook XSL Stylesheets V1.76.1" /><link 
rel="home" href="index.html" title="" /><link rel="up" href="tutorials.html" 
title="Tutorials" /><link rel="prev" href="howto-depend-on-zest.html" 
title="Depend on Zest™ in your build" /><link rel="next" 
href="tut-composites.html" title="Transient Composites Tutorial" />
-
-
-<!-- favicon -->
-
-<link rel="shortcut icon" href="http://qi4j.org/favicon.ico"; 
type="image/vnd.microsoft.icon" />
-<link rel="icon" href="http://qi4j.org/favicon.ico"; type="image/x-icon" />
-
-<!-- style -->
-
-<link href="css/shCore.css" rel="stylesheet" type="text/css" />
-<link href="css/shCoreEclipse.css" rel="stylesheet" type="text/css" />
-<link href="css/shThemeEclipse.css" rel="stylesheet" type="text/css" />
-<link href="css/qi4j.css" rel="stylesheet" type="text/css" />
-
-<!-- Syntax Highlighter -->
-
-<script type="text/javascript" src="js/shCore.js"></script>
-<script type="text/javascript" src="js/shBrushJava.js"></script>
-<script type="text/javascript" src="js/shBrushScala.js"></script>
-<script type="text/javascript" src="js/shBrushJScript.js"></script>
-<script type="text/javascript" src="js/shBrushBash.js"></script>
-<script type="text/javascript" src="js/shBrushPlain.js"></script>
-<script type="text/javascript" src="js/shBrushXml.js"></script>
-<script type="text/javascript" src="js/shBrushGroovy.js"></script>
-<script type="text/javascript" src="js/shBrushPython.js"></script>
-<script type="text/javascript" src="js/shBrushRuby.js"></script>
-<script type="text/javascript" src="js/shBrushCSharp.js"></script>
-
-<script type="text/javascript">
-  SyntaxHighlighter.defaults['tab-size'] = 4;
-  SyntaxHighlighter.defaults['gutter'] = false;
-  SyntaxHighlighter.defaults['toolbar'] = false;
-  SyntaxHighlighter.all()
-</script>
-
-<!-- JQuery -->
-
-<script type="text/javascript" src="js/jquery-1.6.4.min.js"></script>
-
-<!-- Image Scaler -->
-
-<script type="text/javascript" src="js/imagescaler.js"></script>
-
-<!-- Table Styler -->
-
-<script type="text/javascript" src="js/tablestyler.js"></script>
-
-<!-- Qi4j WebSite Progressive Enhancement -->
-
-<link href="css/progressive-enhancement.css" rel="stylesheet" type="text/css" 
/>
-<script type="text/javascript" src="js/jquery.scrollTo-1.4.2.js"></script>
-<script type="text/javascript" src="js/progressive-enhancement.js"></script>
-
-<!-- Analytics -->
- <script type="text/javascript">
-  var _gaq = _gaq || [];
-  _gaq.push(['_setAccount', 'UA-89723617-1']);
-  _gaq.push(['_trackPageview']);
-
-  (function() {
-    var ga = document.createElement('script'); ga.type = 'text/javascript'; 
ga.async = true;
-    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 
'http://www') + '.google-analytics.com/ga.js';
-    var s = document.getElementsByTagName('script')[0]; 
s.parentNode.insertBefore(ga, s);
-  })();
- </script>
-
-  </head><body><div xmlns="" xmlns:exsl="http://exslt.org/common"; 
class="logo"><a href="index.html"><img src="images/logo-standard.png" 
/></a></div><div xmlns="" xmlns:exsl="http://exslt.org/common"; 
class="top-nav"><div xmlns="http://www.w3.org/1999/xhtml"; 
class="toc"><dl><dt><span class="section"><a 
href="index.html#home">Zest™</a></span></dt><dt><span class="section"><a 
href="intro.html">Introduction</a></span></dt><dt><span class="section"><span 
xmlns="" href="tutorials.html">Tutorials</span></span></dt><dt><span 
class="section"><a href="javadocs.html">Javadoc</a></span></dt><dt><span 
class="section"><a href="samples.html">Samples</a></span></dt><dt><span 
class="section"><a href="core.html">Core</a></span></dt><dt><span 
class="section"><a href="libraries.html">Libraries</a></span></dt><dt><span 
class="section"><a href="extensions.html">Extensions</a></span></dt><dt><span 
class="section"><a href="tools.html">Tools</a></span></dt><dt><span 
class="section"><a href="glossary.html">
 Glossary </a></span></dt></dl></div></div><div xmlns="" 
xmlns:exsl="http://exslt.org/common"; class="sub-nav"><div 
xmlns="http://www.w3.org/1999/xhtml"; class="toc"><dl><dt><span 
class="section"><a 
href="tutorials.html#_overview">Overview</a></span></dt><dt><span 
class="section"><a href="two-minutes-intro.html">Zest™ in 2 
minutes</a></span></dt><dt><span class="section"><a 
href="ten-minutes-intro.html">Zest™ in 10 minutes</a></span></dt><dt><span 
class="section"><a href="thirty-minutes-intro.html">Zest™ in 30 
minutes</a></span></dt><dt><span class="section"><a 
href="howto-depend-on-zest.html">Depend on Zest™ in your 
build</a></span></dt><dt><span class="section"><span xmlns="" 
href="howto-assemble-application.html">Assemble an 
Application</span></span></dt><dt><span class="section"><a 
href="tut-composites.html">Transient Composites 
Tutorial</a></span></dt><dt><span class="section"><a 
href="tut-services.html">Services Composites Tutorial</a></span></dt><dt><span 
class="section
 "><a href="howto-contextual-fragments.html">Use contextual 
fragments</a></span></dt><dt><span class="section"><a 
href="howto-leverage-properties.html">Leverage 
Properties</a></span></dt><dt><span class="section"><a 
href="howto-create-constraint.html">Create a 
Constraint</a></span></dt><dt><span class="section"><a 
href="howto-create-concern.html">Create a Concern</a></span></dt><dt><span 
class="section"><a href="howto-create-sideeffect.html">Create a 
SideEffect</a></span></dt><dt><span class="section"><a 
href="howto-create-entity.html">Create an Entity</a></span></dt><dt><span 
class="section"><a href="howto-configure-service.html">Configure a 
Service</a></span></dt><dt><span class="section"><a 
href="howto-invocation-annotation.html">Use 
@Invocation</a></span></dt><dt><span class="section"><a 
href="howto-use-io.html">Use I/O API</a></span></dt><dt><span 
class="section"><a href="build-system.html">Zest™ Build 
System</a></span></dt><dt><span class="section"><a href="community-docs.htm
 l">Writing Zest™ Documentation</a></span></dt><dt><span class="section"><a 
href="releasing-apache.html">Releasing 
Zest™</a></span></dt></dl></div></div><div class="section" title="Assemble an 
Application"><div class="titlepage"><div><div><h3 class="title"><a 
id="howto-assemble-application"></a>Assemble an 
Application</h3></div></div></div><p>We receive a lot of questions about how 
applications should be assembled, and since we don’t have any XML to "fill in"
-and everything is to be done programmatically, it escalates the need to 
provide more hands-on explanation of how this is
-done.</p><p>If you want to reproduce what’s explained in this tutorial, 
remember to depend on the Core Bootstrap artifact:</p><div class="table"><a 
id="idm371060324944"></a><p class="title"><strong>Table 4. 
Artifact</strong></p><div class="table-contents"><table summary="Artifact" 
border="1"><colgroup><col class="col_1" /><col class="col_2" /><col 
class="col_3" /></colgroup><thead><tr><th align="left" valign="top">Group 
ID</th><th align="left" valign="top">Artifact ID</th><th align="left" 
valign="top">Version</th></tr></thead><tbody><tr><td align="left" 
valign="top"><p>org.qi4j.core</p></td><td align="left" 
valign="top"><p>org.qi4j.core.bootstrap</p></td><td align="left" 
valign="top"><p>2.1</p></td></tr></tbody></table></div></div><br 
class="table-break" /><p>At runtime you will need the Core Runtime artifact 
too. See the <a class="xref" href="howto-depend-on-zest.html" title="Depend on 
Zest™ in your build">Depend on Zest™ in your build</a> tutorial for 
details.</p><div clas
 s="section" title="Basics"><div class="titlepage"><div><div><h4 
class="title"><a id="_basics"></a>Basics</h4></div></div></div><p>First let’s 
recap the structural requirements of Zest;</p><div class="itemizedlist"><ul 
class="itemizedlist"><li class="listitem">
-There is one and only one Application instance per Zest™ Runtime.
-</li><li class="listitem">
-Every Application must contain one or more Layers.
-</li><li class="listitem">
-All Composites must be declared in one or more Modules.
-</li><li class="listitem">
-Each Module belong to a Layer.
-</li><li class="listitem">
-Layers are ordered in hierarchies, from simple to complex.
-</li><li class="listitem">
-Access to Composites are limited by visibility rules.
-</li></ul></div><p>Ok, that was quite a handful. Let’s look at them one by 
one.</p></div><div class="section" title="Application"><div 
class="titlepage"><div><div><h4 class="title"><a 
id="_application"></a>Application</h4></div></div></div><p>The first one means 
that for each Zest™ Runtime you start, there will be exactly one application. 
As far as we know, Zest
-is fully isolated, meaning there are no static members being populated and 
such.</p></div><div class="section" title="Layers"><div 
class="titlepage"><div><div><h4 class="title"><a 
id="_layers"></a>Layers</h4></div></div></div><p>Layers are the 
super-structures of an application. We have been talking about them for 
decades, drawn them on paper and
-whiteboards (or even black boards for those old enough), and sometimes 
organized the codebases along such boundaries.
-But, there has been little effort to enforce the Layer mechanism in code, 
although it is an extremely powerful
-construct. First of all it implies directional dependency and a high degree of 
order, spagetti code is reduced if
-successfully implemented. For Zest, it means that we can restrict access to 
Composite and Object declarations, so that
-higher layers can not reach them incidentally. You can enforce architecture to 
a high degree. You can require all
-creation of composites to go through an exposed Factory, which doesn’t 
require the Composite to be public. And so on.
-Layers have hierarchy, i.e. one layer is top of one or more layers, and is 
below one or more layers, except for the
-layers at the top and bottom. You could have disjoint layers, which can’t 
access each other, meaning a couple of layers
-that are both the top and bottom.</p></div><div class="section" 
title="Modules"><div class="titlepage"><div><div><h4 class="title"><a 
id="_modules"></a>Modules</h4></div></div></div><p>The Module concept has also 
been around forever. And in Zest™ we also makes the Modules explicit. Each 
Module belong to a
-Layer, and for each Module you declare the Composite and Object types for that 
Module, together with a Visibility rule,
-one of; application, layer, module.</p></div><div class="section" 
title="Visibility"><div class="titlepage"><div><div><h4 class="title"><a 
id="_visibility"></a>Visibility</h4></div></div></div><p>The Visibility rules 
are perhaps the most powerful aspect of the above. Visibility is a mechanism 
that kicks in whenever
-a Composite type need to be looked up. It defines both the scoping rules of 
the client as well as the provider. A lookup
-is either a direct reference, such as</p><pre class="programlisting brush: 
java">UnitOfWork unitOfWork = module.currentUnitOfWork();
-PersonEntity person = unitOfWork.newEntity( PersonEntity.class );
-</pre><p>or an indirect lookup, such as</p><pre class="programlisting brush: 
java">UnitOfWork unitOfWork = module.currentUnitOfWork();
-Person person = unitOfWork.newEntity( Person.class );
-</pre><p>where it will first map the Person to a reachable PersonEntity.
-The algorithm is as follows;</p><div class="itemizedlist"><ul 
class="itemizedlist"><li class="listitem">
-Look in the callers Module, if there is one and only one Composite type 
matching, use it. If there are two or more
-      Composite types matching, then throw an ambiguity exception. If there 
are zero, proceed to the next step.
-</li><li class="listitem">
-Look in all Modules in the callers Layer. If there is one and only one 
Composite type that matches and is either
-      Visibility.layer, then use it.  If there are two or more Composite types 
matching, then throw an ambiguity
-      exception. If there are zero, proceed to the next step.
-</li><li class="listitem">
-Look in all Layers that caller’s Layer uses. If there is one and only one 
Composite type that matches and is
-      either Visibility.application, then use it.  If there are two or more 
Composite types matching, then throw an
-      ambiguity exception. If there are zero, proceed to the next step.
-</li><li class="listitem">
-Throw a CompositeNotFoundException.
-</li></ul></div><p>The underlying principle comes down to Rickard’s "Speaker 
Analogy", you can hear him (and not the other speakers at the
-conference) because you are in the same room. I.e. if something is really 
close by, it is very likely that this is what
-we want to use, and then the search expands outwards.</p></div><div 
class="section" title="Combining The Above"><div 
class="titlepage"><div><div><h4 class="title"><a 
id="_combining_the_above"></a>Combining The Above</h4></div></div></div><p>Ok, 
that was a whole lot of theory and probably take you more than one read-through 
to fully get into your veins (slow
-acting addiction).
-How to structure your code is beyond the scope of this section. If you are an 
experienced designer, you will have done
-that before, and you may have started out with good intentions at times only 
to find yourself in a spaghetti swamp
-later, or perhaps in the also famous "Clear as Clay" or "Ball (bowl?) of Mud". 
Either way, you need to draw on your
-experience and come up with good structure that Zest™ lets you 
enforce.</p><p>So, for the sake of education, we are going to look at an 
application that consists of many layers, each with a few
-modules. See picture below.</p><p>Image of Example of Layers</p><p>Figure 1. 
Example of Layers</p><p>So, lets see how we code up this bit in the actual code 
first.</p><pre class="programlisting brush: java">public class Main
-{
-    private static Energy4Java qi4j;
-    private static Application application;
-
-    public static void main( String[] args )
-            throws Exception
-    {
-        // Bootstrap Zest Runtime
-        // Create a Zest Runtime
-        qi4j = new Energy4Java();
-
-        // Instantiate the Application Model.
-        application = qi4j.newApplication( new ApplicationAssembler()
-        {
-            public ApplicationAssembly assemble(
-                    ApplicationAssemblyFactory factory )
-                    throws AssemblyException
-            {
-                ApplicationAssembly assembly =
-                        factory.newApplicationAssembly();
-                LayerAssembly runtime = createRuntimeLayer( assembly );
-                LayerAssembly designer = createDesignerLayer( assembly );
-                LayerAssembly domain = createDomainLayer( assembly );
-                LayerAssembly messaging= createMessagingLayer( assembly );
-                LayerAssembly persistence = createPersistenceLayer( assembly );
-
-                // declare structure between layers
-                domain.uses( messaging );
-                domain.uses( persistence );
-                designer.uses( persistence );
-                designer.uses( domain );
-                runtime.uses( domain );
-
-                return assembly;
-            }
-        } );
-
-        // We need to handle shutdown.
-        installShutdownHook();
-
-        // Activate the Application Runtime.
-        application.activate();
-    }
-
-      [...snip...]
-
-}
-
-</pre><p>The above is the basic setup on how to structure a real-world 
applicaton, unless you intend to mess with the
-implementations of various Zest™ systems (yes there are hooks for that too), 
but that is definitely beyond the scope of
-this tutorial.</p><p>Now, the createXyzLayer() methods were excluded to keep 
the sample crisp and easy to follow. Let’s take a look at what
-it could be to create the Domain Layer.</p><pre class="programlisting brush: 
java">private static LayerAssembly createDomainLayer( ApplicationAssembly app )
-{
-    LayerAssembly layer = app.layer("domain-layer");
-    createAccountModule( layer );
-    createInventoryModule( layer );
-    createReceivablesModule( layer );
-    createPayablesModule( layer );
-    return layer;
-}
-
-</pre><p>We just call the layerAssembly() method, which will return either an 
existing Layer with that name or create a new one
-if one doesn’t already exist, and then delegate to methods for creating the 
ModuleAssembly instances. In those method
-we need to declare which Composites, Entities, Services and Objects that is in 
each Module.</p><pre class="programlisting brush: java">private static void 
createAccountModule( LayerAssembly layer )
-{
-    ModuleAssembly module = layer.module("account-module");
-
-    module.entities(AccountEntity.class, EntryEntity.class);
-
-    module.addServices(
-            AccountRepositoryService.class,
-            AccountFactoryService.class,
-            EntryFactoryService.class,
-            EntryRepositoryService.class
-    ).visibleIn( Visibility.layer );
-}
-
-</pre><p>We also need to handle the shutdown case, so in the main() method we 
have a installShutdownHook() method call. It is
-actually very, very simple;</p><pre class="programlisting brush: java">private 
static void installShutdownHook()
-{
-    Runtime.getRuntime().addShutdownHook( new Thread( new Runnable()
-    {
-        public void run()
-        {
-            if( application != null )
-            {
-                try
-                {
-                    application.passivate();
-                }
-                catch( Exception e )
-                {
-                    e.printStackTrace();
-                }
-            }
-        }
-    }) );
-}
-</pre><p>This concludes this tutorial. We have looked how to get the initial 
Zest™ runtime going, how to declare the assembly
-for application model creation and finally the activation of the model 
itself.</p></div></div><div xmlns="" xmlns:exsl="http://exslt.org/common"; 
class="footer"><p>
-        Copyright © 2015 The Apache Software Foundation, Licensed under the 
<a href="http://www.apache.org/licenses/"; target="_blank">Apache License, 
Version 2.0</a>.
-        <br /><small>
-            Apache Zest, Zest, Apache, the Apache feather logo, and the Apache 
Zest project logo are trademarks of The Apache Software Foundation.<br />
-            All other marks mentioned may be trademarks or registered 
trademarks of their respective owners.
-        </small></p></div></body></html>
\ No newline at end of file

Reply via email to