Modified: zest/site/content/java/develop/howto-create-entity.html
URL: 
http://svn.apache.org/viewvc/zest/site/content/java/develop/howto-create-entity.html?rev=1689843&r1=1689842&r2=1689843&view=diff
==============================================================================
--- zest/site/content/java/develop/howto-create-entity.html (original)
+++ zest/site/content/java/develop/howto-create-entity.html Wed Jul  8 11:08:41 
2015
@@ -66,13 +66,13 @@
   })();
  </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">Qi4j</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">Glo
 ssary </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">Qi4j in 2 
minutes</a></span></dt><dt><span class="section"><a 
href="ten-minutes-intro.html">Qi4j in 10 minutes</a></span></dt><dt><span 
class="section"><a href="thirty-minutes-intro.html">Qi4j in 30 
minutes</a></span></dt><dt><span class="section"><a 
href="two-hours-intro.html">Qi4j in 2 hours</a></span></dt><dt><span 
class="section"><a href="howto-depend-on-qi4j.html">Depend on Qi4j in your 
build</a></span></dt><dt><span class="section"><a 
href="howto-assemble-application.html">Assemble an 
Application</a></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"><span xmlns="" 
href="howto-create-entity.html">Create an Entity</span></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">Build System</
 a></span></dt><dt><span class="section"><a href="community-docs.html">Writing 
Qi4j Documentation</a></span></dt></dl></div></div><div class="section" 
title="Create an Entity"><div class="titlepage"><div><div><h3 class="title"><a 
id="howto-create-entity"></a>Create an Entity</h3></div></div></div><p>One of 
the most common tasks in Qi4j is the management of the life cycle of Entities. 
Since Qi4j is capable of
+  </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.htm
 l">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="two-hours-intro.html">Zest™ in 2 hours</a></span></dt><dt><span 
class="section"><a href="howto-depend-on-qi4j.html">Depend on Zest™ in your 
build</a></span></dt><dt><span class="section"><a 
href="howto-assemble-application.html">Assemble an 
Application</a></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"><span xmlns="" 
href="howto-create-entity.html">Create an Entity</span></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 hre
 f="build-system.html">Build System</a></span></dt><dt><span class="section"><a 
href="community-docs.html">Writing Zest™ 
Documentation</a></span></dt></dl></div></div><div class="section" 
title="Create an Entity"><div class="titlepage"><div><div><h3 class="title"><a 
id="howto-create-entity"></a>Create an Entity</h3></div></div></div><p>One of 
the most common tasks in Zest™ is the management of the life cycle of 
Entities. Since Zest™ is capable of
 delivering much higher performance than traditional Object-Relational Mapping 
technologies, we also expect that people
-use Entities more frequently in Qi4j applications, so it is a very important 
topic to cover.</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="idm78348699056"></a><p class="title"><strong>Table 12. 
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>0</p></td></tr></tbody></table></div></div><br 
class="table-break" /><p>Moreover, you’ll need an EntityStore for persistence 
and an Indexing engine for querying. Choose among the available
-implementations listed in the <a class="xref" href="extensions.html" 
title="Extensions">Extensions</a> section.</p><p>At runtime you will need the 
Core Runtime artifact too. See the <a class="xref" 
href="howto-depend-on-qi4j.html" title="Depend on Qi4j in your build">Depend on 
Qi4j in your build</a> tutorial for details.</p><div class="section" 
title="Basics First"><div class="titlepage"><div><div><h4 class="title"><a 
id="_basics_first"></a>Basics First</h4></div></div></div><p>All Entity 
operations MUST be done within a UnitOfWork. UnitOfWorks can be nested and if 
underlying UnitOfWorks are not
+use Entities more frequently in Zest™ applications, so it is a very 
important topic to cover.</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="idm415578627920"></a><p class="title"><strong>Table 12. 
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>0</p></td></tr></tbody></table></div></div><br 
class="table-break" /><p>Moreover, you’ll need an EntityStore for persistence 
and an Indexing engine for querying. Choose among the available
+implementations listed in the <a class="xref" href="extensions.html" 
title="Extensions">Extensions</a> section.</p><p>At runtime you will need the 
Core Runtime artifact too. See the <a class="xref" 
href="howto-depend-on-qi4j.html" title="Depend on Zest™ in your build">Depend 
on Zest™ in your build</a> tutorial for details.</p><div class="section" 
title="Basics First"><div class="titlepage"><div><div><h4 class="title"><a 
id="_basics_first"></a>Basics First</h4></div></div></div><p>All Entity 
operations MUST be done within a UnitOfWork. UnitOfWorks can be nested and if 
underlying UnitOfWorks are not
 completed (method complete()), then none of the operations will be persisted 
permanently.</p><p>Entity composites are subtypes of the EntityComposite 
interface.</p><p>Domain code typically don’t need to know of the 
EntityComposite types directly, and is instead using the domain specific
 interface. The Visibility rules will be applied to associate the right 
EntityComposite when a domain type is requested.
-Ambiguities are not accepted and will result in runtime exceptions.</p><p>Qi4j 
supports that each entity instance can have more than one entity type, and it 
is managed per instance. This feature
+Ambiguities are not accepted and will result in runtime 
exceptions.</p><p>Zest™ supports that each entity instance can have more than 
one entity type, and it is managed per instance. This feature
 is beyond the scope of this HowTO and will be covered 
subsequently.</p></div><div class="section" title="Good Practice"><div 
class="titlepage"><div><div><h4 class="title"><a id="_good_practice"></a>Good 
Practice</h4></div></div></div><p>We have made the observation that it is good 
practice to separate the internal state from the observable behavior. By
 this we mean that it is not a good practice to allow client code to manipulate 
or even view the internal states of
 objects, which is such a common (bad) practice in the so called POJO 
world.</p><p>Instead, we recommend that the programmer defines the client 
requirement of what each participant within the client
@@ -133,13 +133,13 @@ We must also assemble an EntityStore for
     }
 }
 </pre><p>We have no other Composites involved yet, so we can proceed to look 
at the usage code.</p><p>We recommend that the life cycle management of 
entities is placed inside domain factories, one for each type and made
-available as services.</p></div><div class="section" title="The Entity 
Factory"><div class="titlepage"><div><div><h4 class="title"><a 
id="_the_entity_factory"></a>The Entity Factory</h4></div></div></div><p>The 
entity factory is something you need to write yourself, but as with most things 
in Qi4j it will end up being a
+available as services.</p></div><div class="section" title="The Entity 
Factory"><div class="titlepage"><div><div><h4 class="title"><a 
id="_the_entity_factory"></a>The Entity Factory</h4></div></div></div><p>The 
entity factory is something you need to write yourself, but as with most things 
in Zest™ it will end up being a
 fairly small implementation. So how is that done?</p><pre 
class="programlisting brush: java">public interface CarEntityFactory
 {
     Car create(Manufacturer manufacturer, String model);
 }
 
-</pre><p>That is just the domain interface. We now need to make the service 
interface, which Qi4j needs to identify services and
+</pre><p>That is just the domain interface. We now need to make the service 
interface, which Zest™ needs to identify services and
 make it possible for the service injection later.</p><pre 
class="programlisting brush: java">@Mixins( { CarEntityFactoryMixin.class } )
 public interface CarEntityFactoryService
         extends CarEntityFactory, ServiceComposite
@@ -148,7 +148,7 @@ public interface CarEntityFactoryService
         implements CarEntityFactory
 {
 
-</pre><p>And doing that, first of all we need to request Qi4j runtime to give 
us the Module
+</pre><p>And doing that, first of all we need to request Zest™ runtime to 
give us the Module
 that our code belongs to, and the UnitOfWork current context the execution is 
happening in.</p><p>Injections that are related to the Visibility rules are 
handled by the @Structure annotation. And the easiest way for us
 to obtain a Module is simply to;</p><pre class="programlisting brush: 
java">public class CarEntityFactoryMixin
         implements CarEntityFactory
@@ -156,7 +156,7 @@ to obtain a Module is simply to;</p><pre
 
     @Structure
     Module module;
-</pre><p>Here Qi4j will inject the member module with the correct Module. In 
case we only need the Module
+</pre><p>Here Zest™ will inject the member module with the correct Module. 
In case we only need the Module
 during the construction, we can also request it in the same manner as 
constructor argument.</p><pre class="programlisting brush: java">public 
CarEntityFactoryMixin( @Structure Module module )
 {
 }

Modified: zest/site/content/java/develop/howto-create-sideeffect.html
URL: 
http://svn.apache.org/viewvc/zest/site/content/java/develop/howto-create-sideeffect.html?rev=1689843&r1=1689842&r2=1689843&view=diff
==============================================================================
--- zest/site/content/java/develop/howto-create-sideeffect.html (original)
+++ zest/site/content/java/develop/howto-create-sideeffect.html Wed Jul  8 
11:08:41 2015
@@ -66,7 +66,7 @@
   })();
  </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">Qi4j</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">Glo
 ssary </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">Qi4j in 2 
minutes</a></span></dt><dt><span class="section"><a 
href="ten-minutes-intro.html">Qi4j in 10 minutes</a></span></dt><dt><span 
class="section"><a href="thirty-minutes-intro.html">Qi4j in 30 
minutes</a></span></dt><dt><span class="section"><a 
href="two-hours-intro.html">Qi4j in 2 hours</a></span></dt><dt><span 
class="section"><a href="howto-depend-on-qi4j.html">Depend on Qi4j in your 
build</a></span></dt><dt><span class="section"><a 
href="howto-assemble-application.html">Assemble an 
Application</a></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"><span xmlns="" href="howto-create-sideeffect.html">Create a 
SideEffect</span></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">Build System</
 a></span></dt><dt><span class="section"><a href="community-docs.html">Writing 
Qi4j Documentation</a></span></dt></dl></div></div><div class="section" 
title="Create a SideEffect"><div class="titlepage"><div><div><h3 
class="title"><a id="howto-create-sideeffect"></a>Create a 
SideEffect</h3></div></div></div><p>SideEffects are defined in <a class="xref" 
href="glossary.html#def-sideeffect">SideEffect</a>.</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="idm78348728976"></a><p 
class="title"><strong>Table 11. 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.co
 re</p></td><td align="left" 
valign="top"><p>org.qi4j.core.bootstrap</p></td><td align="left" 
valign="top"><p>0</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-qi4j.html" title="Depend on 
Qi4j in your build">Depend on Qi4j in your build</a> tutorial for 
details.</p><div class="section" title="Typed SideEffect"><div 
class="titlepage"><div><div><h4 class="title"><a 
id="_typed_sideeffect"></a>Typed SideEffect</h4></div></div></div><p>A typed 
SideEffect is a Java class that implements the MixinType it can be used 
on:</p><pre class="programlisting brush: java">public abstract class 
MailNotifySideEffect extends SideEffectOf&lt;Confirmable&gt;
+  </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.htm
 l">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="two-hours-intro.html">Zest™ in 2 hours</a></span></dt><dt><span 
class="section"><a href="howto-depend-on-qi4j.html">Depend on Zest™ in your 
build</a></span></dt><dt><span class="section"><a 
href="howto-assemble-application.html">Assemble an 
Application</a></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"><span xmlns="" href="howto-create-sideeffect.html">Create a 
SideEffect</span></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 hre
 f="build-system.html">Build System</a></span></dt><dt><span class="section"><a 
href="community-docs.html">Writing Zest™ 
Documentation</a></span></dt></dl></div></div><div class="section" 
title="Create a SideEffect"><div class="titlepage"><div><div><h3 
class="title"><a id="howto-create-sideeffect"></a>Create a 
SideEffect</h3></div></div></div><p>SideEffects are defined in <a class="xref" 
href="glossary.html#def-sideeffect">SideEffect</a>.</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="idm415578664432"></a><p 
class="title"><strong>Table 11. 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>0</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-qi4j.html" title="Depend on 
Zest™ in your build">Depend on Zest™ in your build</a> tutorial for 
details.</p><div class="section" title="Typed SideEffect"><div 
class="titlepage"><div><div><h4 class="title"><a 
id="_typed_sideeffect"></a>Typed SideEffect</h4></div></div></div><p>A typed 
SideEffect is a Java class that implements the MixinType it can be used 
on:</p><pre class="programlisting brush: java">public abstract class 
MailNotifySideEffect extends SideEffectOf&lt;Confirmable&gt;
     implements Confirmable
 {
     @Service
@@ -99,9 +99,9 @@
 </pre><p>The MailNotifySideEffect is implemented as an abstract class, since 
we are not interested in the many other methods in
 the Confirmable interface. Extending the SideEffectOf is a convenience 
mechanism, instead of an explicit @SideEffectFor
 annotation on a private field, which can be used in rare occasions when you 
are not able to extend. This base class
-defines the next field, which is set up by the Qi4j runtime and points to the 
next fragment in the call stack. We can
+defines the next field, which is set up by the Zest™ runtime and points to 
the next fragment in the call stack. We can
 also see that the MailService, HasLineItems and HasCustomer are provided to 
the side-effect, which is done with
-dependency injection. Qi4j also supports dependency injection via constructors 
and methods.</p><p>It can be used as follows;</p><pre class="programlisting 
brush: java">@SideEffects( MailNotifySideEffect.class )
+dependency injection. Zest™ also supports dependency injection via 
constructors and methods.</p><p>It can be used as follows;</p><pre 
class="programlisting brush: java">@SideEffects( MailNotifySideEffect.class )
 public interface OrderEntity
     extends Order, HasSequenceNumber, HasCustomer,
             HasLineItems, Confirmable, EntityComposite

Modified: zest/site/content/java/develop/howto-depend-on-qi4j.html
URL: 
http://svn.apache.org/viewvc/zest/site/content/java/develop/howto-depend-on-qi4j.html?rev=1689843&r1=1689842&r2=1689843&view=diff
==============================================================================
--- zest/site/content/java/develop/howto-depend-on-qi4j.html (original)
+++ zest/site/content/java/develop/howto-depend-on-qi4j.html Wed Jul  8 
11:08:41 2015
@@ -1,5 +1,5 @@
 <?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>Depend on Qi4j in your 
build</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="two-hours-intro.html" title="Qi4j in 
2 hours" /><link rel="next" href="howto-assemble-application.html" 
title="Assemble an Application" />
+<!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>Depend on Zest™ in your 
build</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="two-hours-intro.html" title="Zest™ 
in 2 hours" /><link rel="next" href="howto-assemble-application.html" 
title="Assemble an Application" />
 
 
 <!-- favicon -->
@@ -66,9 +66,9 @@
   })();
  </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">Qi4j</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">Glo
 ssary </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">Qi4j in 2 
minutes</a></span></dt><dt><span class="section"><a 
href="ten-minutes-intro.html">Qi4j in 10 minutes</a></span></dt><dt><span 
class="section"><a href="thirty-minutes-intro.html">Qi4j in 30 
minutes</a></span></dt><dt><span class="section"><a 
href="two-hours-intro.html">Qi4j in 2 hours</a></span></dt><dt><span 
class="section"><span xmlns="" href="howto-depend-on-qi4j.html">Depend on Qi4j 
in your build</span></span></dt><dt><span class="section"><a 
href="howto-assemble-application.html">Assemble an 
Application</a></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">Build System</
 a></span></dt><dt><span class="section"><a href="community-docs.html">Writing 
Qi4j Documentation</a></span></dt></dl></div></div><div class="section" 
title="Depend on Qi4j in your build"><div class="titlepage"><div><div><h3 
class="title"><a id="howto-depend-on-qi4j"></a>Depend on Qi4j in your 
build</h3></div></div></div><div class="note" title="Note" style="margin-left: 
0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>Some of the <a 
class="xref" href="libraries.html" title="Libraries">Libraries</a> and <a 
class="xref" href="extensions.html" title="Extensions">Extensions</a> depend on 
artifacts that are not deployed in central, you’ll need to
+  </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.htm
 l">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="two-hours-intro.html">Zest™ in 2 hours</a></span></dt><dt><span 
class="section"><span xmlns="" href="howto-depend-on-qi4j.html">Depend on 
Zest™ in your build</span></span></dt><dt><span class="section"><a 
href="howto-assemble-application.html">Assemble an 
Application</a></span></dt><dt><span class="section"><a 
href="tut-composites.html">Transient Composites 
Tutorial</a></span></dt><dt><span c
 lass="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 hre
 f="build-system.html">Build System</a></span></dt><dt><span class="section"><a 
href="community-docs.html">Writing Zest™ 
Documentation</a></span></dt></dl></div></div><div class="section" 
title="Depend on Zest™ in your build"><div class="titlepage"><div><div><h3 
class="title"><a id="howto-depend-on-qi4j"></a>Depend on Zest™ in your 
build</h3></div></div></div><div class="note" title="Note" style="margin-left: 
0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>Some of the <a 
class="xref" href="libraries.html" title="Libraries">Libraries</a> and <a 
class="xref" href="extensions.html" title="Extensions">Extensions</a> depend on 
artifacts that are not deployed in central, you’ll need to
 add other repositories to your build scripts accordingly.</p></div><p>Release 
artifacts, including sources and javadoc, are deployed to</p><p><a 
class="ulink" href="https://repository-qi4j.forge.cloudbees.com/release/"; 
target="_top">https://repository-qi4j.forge.cloudbees.com/release/</a>.</p><p>Snapshot
 artifacts, including sources and javadoc, are built against the <code 
class="literal">develop</code> branch and deployed weekly to</p><p><a 
class="ulink" href="https://repository-qi4j.forge.cloudbees.com/snapshot/"; 
target="_top">https://repository-qi4j.forge.cloudbees.com/snapshot/</a>.</p><p>As
 they are not deployed to central you need to add the repositories to your 
build scripts.</p><div class="section" title="Manually"><div 
class="titlepage"><div><div><h4 class="title"><a 
id="_manually"></a>Manually</h4></div></div></div><p>If you don’t rely on 
your build scripts dependency resolution mechanism you should
-<a class="ulink" href="http://qi4j.org/downloads.html"; 
target="_top">download</a> the SDK distribution.</p></div><div class="section" 
title="Using Maven"><div class="titlepage"><div><div><h4 class="title"><a 
id="_using_maven"></a>Using Maven</h4></div></div></div><p>First you need to 
register the Qi4j repositories:</p><pre class="programlisting brush: 
xml">&lt;repositories&gt;
+<a class="ulink" href="http://qi4j.org/downloads.html"; 
target="_top">download</a> the SDK distribution.</p></div><div class="section" 
title="Using Maven"><div class="titlepage"><div><div><h4 class="title"><a 
id="_using_maven"></a>Using Maven</h4></div></div></div><p>First you need to 
register the Zest™ repositories:</p><pre class="programlisting brush: 
xml">&lt;repositories&gt;
     &lt;repository&gt;
         &lt;id&gt;qi4j-releases&lt;/id&gt;
         
&lt;url&gt;https://repository-qi4j.forge.cloudbees.com/release/&lt;/url&gt;
@@ -79,7 +79,7 @@ add other repositories to your build scr
         &lt;releases&gt;&lt;enabled&gt;false&lt;/enabled&gt;&lt;/releases&gt;
         &lt;snapshots&gt;&lt;enabled&gt;true&lt;/enabled&gt;&lt;/snapshots&gt;
     &lt;/repository&gt;
-&lt;/repositories&gt;</pre><p>After that you can declare dependencies on Qi4j 
artifacts:</p><pre class="programlisting brush: xml">&lt;dependencies&gt;
+&lt;/repositories&gt;</pre><p>After that you can declare dependencies on 
Zest™ artifacts:</p><pre class="programlisting brush: 
xml">&lt;dependencies&gt;
     &lt;dependency&gt;
         &lt;groupId&gt;org.qi4j.core&lt;/groupId&gt;
         &lt;artifactId&gt;org.qi4j.core.bootstrap&lt;/artifactId&gt;
@@ -97,19 +97,19 @@ add other repositories to your build scr
         &lt;version&gt;QI4J_VERSION&lt;/version&gt;
         &lt;scope&gt;test&lt;/scope&gt;
     &lt;/dependency&gt;
-&lt;/dependencies&gt;</pre><p>Where <code class="literal">QI4J_VERSION</code> 
is the Qi4j version you want to use.</p></div><div class="section" title="Using 
Gradle"><div class="titlepage"><div><div><h4 class="title"><a 
id="_using_gradle"></a>Using Gradle</h4></div></div></div><p>First you need to 
register the Qi4j repositories:</p><pre class="programlisting brush: 
groovy">repositories {
+&lt;/dependencies&gt;</pre><p>Where <code class="literal">QI4J_VERSION</code> 
is the Zest™ version you want to use.</p></div><div class="section" 
title="Using Gradle"><div class="titlepage"><div><div><h4 class="title"><a 
id="_using_gradle"></a>Using Gradle</h4></div></div></div><p>First you need to 
register the Zest™ repositories:</p><pre class="programlisting brush: 
groovy">repositories {
     maven { name 'qi4j-releases'; url 
"https://repository-qi4j.forge.cloudbees.com/release/" }
     maven { name 'qi4j-snapshots'; url 
"https://repository-qi4j.forge.cloudbees.com/snapshot/"; }
-}</pre><p>After that you can declare dependencies on Qi4j artifacts:</p><pre 
class="programlisting brush: groovy">dependencies {
+}</pre><p>After that you can declare dependencies on Zest™ 
artifacts:</p><pre class="programlisting brush: groovy">dependencies {
     compile     "org.qi4j.core:org.qi4j.core.bootstrap:QI4J_VERSION"
     runtime     "org.qi4j.core:org.qi4j.core.runtime:QI4J_VERSION"
     testCompile "org.qi4j.core:org.qi4j.core.testsupport:QI4J_VERSION"
-}</pre><p>Where <code class="literal">QI4J_VERSION</code> is the Qi4j version 
you want to use.</p></div><div class="section" title="Using Buildr"><div 
class="titlepage"><div><div><h4 class="title"><a id="_using_buildr"></a>Using 
Buildr</h4></div></div></div><p>First you need to register the Qi4j 
repositories:</p><pre class="programlisting brush: ruby">repositories.remote 
&lt;&lt; 'https://repository-qi4j.forge.cloudbees.com/release/'
-repositories.remote &lt;&lt; 
'https://repository-qi4j.forge.cloudbees.com/snapshot/'</pre><p>After that you 
can declare dependencies on Qi4j artifacts:</p><pre class="programlisting 
brush: ruby">compile.with 'org.qi4j.core:org.qi4j.core.bootstrap:QI4J_VERSION'
+}</pre><p>Where <code class="literal">QI4J_VERSION</code> is the Zest™ 
version you want to use.</p></div><div class="section" title="Using 
Buildr"><div class="titlepage"><div><div><h4 class="title"><a 
id="_using_buildr"></a>Using Buildr</h4></div></div></div><p>First you need to 
register the Zest™ repositories:</p><pre class="programlisting brush: 
ruby">repositories.remote &lt;&lt; 
'https://repository-qi4j.forge.cloudbees.com/release/'
+repositories.remote &lt;&lt; 
'https://repository-qi4j.forge.cloudbees.com/snapshot/'</pre><p>After that you 
can declare dependencies on Zest™ artifacts:</p><pre class="programlisting 
brush: ruby">compile.with 'org.qi4j.core:org.qi4j.core.bootstrap:QI4J_VERSION'
 package(:war).with :libs =&gt; 
'org.qi4j.core:org.qi4j.core.runtime:QI4J_VERSION'
-test.with 'org.qi4j.core:org.qi4j.core.testsupport:QI4J_VERSION'</pre><p>Where 
<code class="literal">QI4J_VERSION</code> is the Qi4j version you want to 
use.</p></div><div class="section" title="Using SBT"><div 
class="titlepage"><div><div><h4 class="title"><a id="_using_sbt"></a>Using 
SBT</h4></div></div></div><p>First you need to register the Qi4j 
repositories:</p><pre class="programlisting brush: scala">resolvers += 
"qi4j-releases" at "https://repository-qi4j.forge.cloudbees.com/release/";
+test.with 'org.qi4j.core:org.qi4j.core.testsupport:QI4J_VERSION'</pre><p>Where 
<code class="literal">QI4J_VERSION</code> is the Zest™ version you want to 
use.</p></div><div class="section" title="Using SBT"><div 
class="titlepage"><div><div><h4 class="title"><a id="_using_sbt"></a>Using 
SBT</h4></div></div></div><p>First you need to register the Zest™ 
repositories:</p><pre class="programlisting brush: scala">resolvers += 
"qi4j-releases" at "https://repository-qi4j.forge.cloudbees.com/release/";
 
-resolvers += "qi4j-snapshots" at 
"https://repository-qi4j.forge.cloudbees.com/snapshot/";</pre><p>After that you 
can declare dependencies on Qi4j artifacts:</p><pre class="programlisting 
brush: scala">libraryDependencies += \
+resolvers += "qi4j-snapshots" at 
"https://repository-qi4j.forge.cloudbees.com/snapshot/";</pre><p>After that you 
can declare dependencies on Zest™ artifacts:</p><pre class="programlisting 
brush: scala">libraryDependencies += \
     "org.qi4j.core" % "org.qi4j.core.bootstrap" % "QI4J_VERSION" \
     withSources() withJavadoc()
 libraryDependencies += \
@@ -117,7 +117,7 @@ libraryDependencies += \
     withSources() withJavadoc()
 libraryDependencies += \
     "org.qi4j.core" % "org.qi4j.core.testsupport" % "QI4J_VERSION" % "test" \
-    withSources() withJavadoc()</pre><p>Where <code 
class="literal">QI4J_VERSION</code> is the Qi4j version you want to 
use.</p></div><div class="section" title="Using Ivy"><div 
class="titlepage"><div><div><h4 class="title"><a id="_using_ivy"></a>Using 
Ivy</h4></div></div></div><p>First you need to register the Qi4j repositories 
in a <code class="literal">ivysettings.xml</code> file:</p><pre 
class="programlisting brush: xml">&lt;ivysettings&gt;
+    withSources() withJavadoc()</pre><p>Where <code 
class="literal">QI4J_VERSION</code> is the Zest™ version you want to 
use.</p></div><div class="section" title="Using Ivy"><div 
class="titlepage"><div><div><h4 class="title"><a id="_using_ivy"></a>Using 
Ivy</h4></div></div></div><p>First you need to register the Zest™ 
repositories in a <code class="literal">ivysettings.xml</code> file:</p><pre 
class="programlisting brush: xml">&lt;ivysettings&gt;
     &lt;settings defaultResolver="chain"/&gt;
     &lt;resolvers&gt;
         &lt;chain name="chain"&gt;
@@ -127,7 +127,7 @@ libraryDependencies += \
                      
root="https://repository-qi4j.forge.cloudbees.com/snapshot/"/&gt;
         &lt;/chain&gt;
     &lt;/resolvers&gt;
-&lt;/ivysettings&gt;</pre><p>After that you can declare dependencies on Qi4j 
artifacts:</p><pre class="programlisting brush: xml">&lt;ivy-module&gt;
+&lt;/ivysettings&gt;</pre><p>After that you can declare dependencies on 
Zest™ artifacts:</p><pre class="programlisting brush: xml">&lt;ivy-module&gt;
     &lt;dependencies&gt;
         &lt;dependency org="org.qi4j.core" name="org.qi4j.core.bootstrap"
                     rev="QI4J_VERSION"  conf="default" /&gt;
@@ -136,7 +136,7 @@ libraryDependencies += \
         &lt;dependency org="org.qi4j.core" name="org.qi4j.core.testsupport"
                     rev="QI4J_VERSION"  conf="test" /&gt;
     &lt;/dependencies&gt;
-&lt;/ivy-module&gt;</pre><p>Where <code class="literal">QI4J_VERSION</code> is 
the Qi4j version you want to use.</p></div></div><div xmlns="" 
xmlns:exsl="http://exslt.org/common"; class="footer"><p>
+&lt;/ivy-module&gt;</pre><p>Where <code class="literal">QI4J_VERSION</code> is 
the Zest™ version you want to use.</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 />

Modified: zest/site/content/java/develop/howto-invocation-annotation.html
URL: 
http://svn.apache.org/viewvc/zest/site/content/java/develop/howto-invocation-annotation.html?rev=1689843&r1=1689842&r2=1689843&view=diff
==============================================================================
--- zest/site/content/java/develop/howto-invocation-annotation.html (original)
+++ zest/site/content/java/develop/howto-invocation-annotation.html Wed Jul  8 
11:08:41 2015
@@ -66,7 +66,7 @@
   })();
  </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">Qi4j</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">Glo
 ssary </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">Qi4j in 2 
minutes</a></span></dt><dt><span class="section"><a 
href="ten-minutes-intro.html">Qi4j in 10 minutes</a></span></dt><dt><span 
class="section"><a href="thirty-minutes-intro.html">Qi4j in 30 
minutes</a></span></dt><dt><span class="section"><a 
href="two-hours-intro.html">Qi4j in 2 hours</a></span></dt><dt><span 
class="section"><a href="howto-depend-on-qi4j.html">Depend on Qi4j in your 
build</a></span></dt><dt><span class="section"><a 
href="howto-assemble-application.html">Assemble an 
Application</a></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"><span xmlns="" 
href="howto-invocation-annotation.html">Use 
@Invocation</span></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">Build System</
 a></span></dt><dt><span class="section"><a href="community-docs.html">Writing 
Qi4j Documentation</a></span></dt></dl></div></div><div class="section" 
title="Use @Invocation"><div class="titlepage"><div><div><h3 class="title"><a 
id="howto-invocation-annotation"></a>Use 
@Invocation</h3></div></div></div><p>The @Invocation annotation is relatively 
unknown but can be rather powerful to use, especially when creating
+  </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.htm
 l">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="two-hours-intro.html">Zest™ in 2 hours</a></span></dt><dt><span 
class="section"><a href="howto-depend-on-qi4j.html">Depend on Zest™ in your 
build</a></span></dt><dt><span class="section"><a 
href="howto-assemble-application.html">Assemble an 
Application</a></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"><span xmlns="" 
href="howto-invocation-annotation.html">Use 
@Invocation</span></span></dt><dt><span class="section"><a 
href="howto-use-io.html">Use I/O API</a></span></dt><dt><span 
class="section"><a hre
 f="build-system.html">Build System</a></span></dt><dt><span class="section"><a 
href="community-docs.html">Writing Zest™ 
Documentation</a></span></dt></dl></div></div><div class="section" title="Use 
@Invocation"><div class="titlepage"><div><div><h3 class="title"><a 
id="howto-invocation-annotation"></a>Use 
@Invocation</h3></div></div></div><p>The @Invocation annotation is relatively 
unknown but can be rather powerful to use, especially when creating
 libraries that needs to be flexible of what the user needs to 
do.</p><p>@Invocation is a different <code 
class="literal">InjectionScope</code>, which is a concept to tell Zest runtime 
where to look for the
 instances to be injected. Other, more well-known, <code 
class="literal">InjectionScope</code> annotations are <code 
class="literal">@This</code>, <code class="literal">@Structure</code> and
 <code class="literal">@Service</code>.</p><p>The <code 
class="literal">@Invocation</code> injection scope can provide the following 
types, all related to the on-going method invocation,

Modified: zest/site/content/java/develop/howto-leverage-properties.html
URL: 
http://svn.apache.org/viewvc/zest/site/content/java/develop/howto-leverage-properties.html?rev=1689843&r1=1689842&r2=1689843&view=diff
==============================================================================
--- zest/site/content/java/develop/howto-leverage-properties.html (original)
+++ zest/site/content/java/develop/howto-leverage-properties.html Wed Jul  8 
11:08:41 2015
@@ -66,9 +66,9 @@
   })();
  </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">Qi4j</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">Glo
 ssary </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">Qi4j in 2 
minutes</a></span></dt><dt><span class="section"><a 
href="ten-minutes-intro.html">Qi4j in 10 minutes</a></span></dt><dt><span 
class="section"><a href="thirty-minutes-intro.html">Qi4j in 30 
minutes</a></span></dt><dt><span class="section"><a 
href="two-hours-intro.html">Qi4j in 2 hours</a></span></dt><dt><span 
class="section"><a href="howto-depend-on-qi4j.html">Depend on Qi4j in your 
build</a></span></dt><dt><span class="section"><a 
href="howto-assemble-application.html">Assemble an 
Application</a></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"><span xmlns="" 
href="howto-leverage-properties.html">Leverage 
Properties</span></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">Build System</
 a></span></dt><dt><span class="section"><a href="community-docs.html">Writing 
Qi4j Documentation</a></span></dt></dl></div></div><div class="section" 
title="Leverage Properties"><div class="titlepage"><div><div><h3 
class="title"><a id="howto-leverage-properties"></a>Leverage 
Properties</h3></div></div></div><p>Qi4j does not follow the JavaBeans standard 
for property support. Instead, a much more explicit concept is in place. The
+  </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.htm
 l">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="two-hours-intro.html">Zest™ in 2 hours</a></span></dt><dt><span 
class="section"><a href="howto-depend-on-qi4j.html">Depend on Zest™ in your 
build</a></span></dt><dt><span class="section"><a 
href="howto-assemble-application.html">Assemble an 
Application</a></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"><span xmlns="" 
href="howto-leverage-properties.html">Leverage 
Properties</span></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 hre
 f="build-system.html">Build System</a></span></dt><dt><span class="section"><a 
href="community-docs.html">Writing Zest™ 
Documentation</a></span></dt></dl></div></div><div class="section" 
title="Leverage Properties"><div class="titlepage"><div><div><h3 
class="title"><a id="howto-leverage-properties"></a>Leverage 
Properties</h3></div></div></div><p>Zest™ does not follow the JavaBeans 
standard for property support. Instead, a much more explicit concept is in 
place. The
 advantages are enormous, and the only real downside is that people are already 
destroyed, thinking in so called POJO
-terms.</p><p>If you want to reproduce what’s explained in this tutorial, 
remember to depend on the Core API artifact:</p><div class="table"><a 
id="idm78348831520"></a><p class="title"><strong>Table 8. 
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.api</p></td><td align="left" 
valign="top"><p>0</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-qi4j.html" title="Depend on 
Qi4j in your build">Depend on Qi4j in your build</a> tutorial for 
details.</p><p>So in Qi4j, instead
  of writing;</p><pre class="programlisting brush: java">public interface Book
+terms.</p><p>If you want to reproduce what’s explained in this tutorial, 
remember to depend on the Core API artifact:</p><div class="table"><a 
id="idm415578769600"></a><p class="title"><strong>Table 8. 
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.api</p></td><td align="left" 
valign="top"><p>0</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-qi4j.html" title="Depend on 
Zest™ in your build">Depend on Zest™ in your build</a> tutorial for 
details.</p><p>So in 
 Zest, instead of writing;</p><pre class="programlisting brush: java">public 
interface Book
 {
     String getTitle();
     String getAuthor();
@@ -108,7 +108,7 @@ Module module;
     Book book = builder.newInstance();
     String title = book.title().get();     // Retrieves the title.
     book.title().set( "Long Live POJOs" ); // throws an IllegalStateException
-</pre><div class="section" title="Persistence"><div 
class="titlepage"><div><div><h4 class="title"><a 
id="_persistence"></a>Persistence</h4></div></div></div><p>The Property concept 
also allows a much better defined persistence model. In Qi4j, only Property and 
Association
+</pre><div class="section" title="Persistence"><div 
class="titlepage"><div><div><h4 class="title"><a 
id="_persistence"></a>Persistence</h4></div></div></div><p>The Property concept 
also allows a much better defined persistence model. In Zest, only Property and 
Association
 instances are persisted, and that makes the semantics around the persistence 
system very clear.</p><p>Properties reference values only, and these values 
must be Serializable, which means that Properties can not contain
 Entities, since Entities are not Serializable. Associations are the opposite, 
as they must only reference Entities and
 nothing else.</p></div><div class="section" title="MetaInfo"><div 
class="titlepage"><div><div><h4 class="title"><a 
id="_metainfo"></a>MetaInfo</h4></div></div></div><p>Properties can also have 
typed, custom meta information associated with them. Meta information is 
declared once per

Modified: zest/site/content/java/develop/howto-use-io.html
URL: 
http://svn.apache.org/viewvc/zest/site/content/java/develop/howto-use-io.html?rev=1689843&r1=1689842&r2=1689843&view=diff
==============================================================================
--- zest/site/content/java/develop/howto-use-io.html (original)
+++ zest/site/content/java/develop/howto-use-io.html Wed Jul  8 11:08:41 2015
@@ -66,7 +66,7 @@
   })();
  </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">Qi4j</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">Glo
 ssary </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">Qi4j in 2 
minutes</a></span></dt><dt><span class="section"><a 
href="ten-minutes-intro.html">Qi4j in 10 minutes</a></span></dt><dt><span 
class="section"><a href="thirty-minutes-intro.html">Qi4j in 30 
minutes</a></span></dt><dt><span class="section"><a 
href="two-hours-intro.html">Qi4j in 2 hours</a></span></dt><dt><span 
class="section"><a href="howto-depend-on-qi4j.html">Depend on Qi4j in your 
build</a></span></dt><dt><span class="section"><a 
href="howto-assemble-application.html">Assemble an 
Application</a></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"><span xmlns="" 
href="howto-use-io.html">Use I/O API</span></span></dt><dt><span 
class="section"><a href="build-system.html">Build System</
 a></span></dt><dt><span class="section"><a href="community-docs.html">Writing 
Qi4j Documentation</a></span></dt></dl></div></div><div class="section" 
title="Use I/O API"><div class="titlepage"><div><div><h3 class="title"><a 
id="howto-use-io"></a>Use I/O API</h3></div></div></div><div class="note" 
title="Note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 
class="title">Note</h3><p>This article was written on Rickard Öberg’s blog, 
6 Nov 2010</p></div><p>The past week I’ve had to deal with a lot of data 
shuffling, both in raw form as bytes and strings, and as SPI and
+  </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.htm
 l">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="two-hours-intro.html">Zest™ in 2 hours</a></span></dt><dt><span 
class="section"><a href="howto-depend-on-qi4j.html">Depend on Zest™ in your 
build</a></span></dt><dt><span class="section"><a 
href="howto-assemble-application.html">Assemble an 
Application</a></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"><span xmlns="" 
href="howto-use-io.html">Use I/O API</span></span></dt><dt><span 
class="section"><a hre
 f="build-system.html">Build System</a></span></dt><dt><span class="section"><a 
href="community-docs.html">Writing Zest™ 
Documentation</a></span></dt></dl></div></div><div class="section" title="Use 
I/O API"><div class="titlepage"><div><div><h3 class="title"><a 
id="howto-use-io"></a>Use I/O API</h3></div></div></div><div class="note" 
title="Note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 
class="title">Note</h3><p>This article was written on Rickard Öberg’s blog, 
6 Nov 2010</p></div><p>The past week I’ve had to deal with a lot of data 
shuffling, both in raw form as bytes and strings, and as SPI and
 domain level objects. What struck me is that it is notoriously hard to shuffle 
things from one place to another in a
 way that is scalable, performant and handles errors correctly. And I had to do 
some things over and over again, like
 reading strings from files.</p><p>So the thought occurred: there must be a 
general pattern to how this thing works, which can be extracted and put into a
@@ -102,7 +102,7 @@ what the possible pieces could be:</p><p
 each other.</p><p>1) is the client code that initiates a transfer, and which 
have to know the input and output source.</p><p>2) is the code that reads lines 
from an input.</p><p>3) is helper code that I use to keep track of what’s 
going on, and which I’d like to reuse no matter what kind of
 transfer is being done.</p><p>4) receives the data and writes it down. In this 
code, if I wanted to implement batching on the read and write side I
 could do so by changing the 2 and 4 parts to read/write multiple lines at a 
time.</p><div class="section" title="The API"><div 
class="titlepage"><div><div><h4 class="title"><a id="_the_api"></a>The 
API</h4></div></div></div><p>If you want to reproduce what’s explained in 
this tutorial, remember to depend on the Core Runtime artifact that depends
-on Core API, Core SPI, Core Bootstrap and Core Functional &amp; I/O 
APIs:</p><div class="table"><a id="idm78348562800"></a><p 
class="title"><strong>Table 14. 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.runtime</p></td><td align="left" 
valign="top"><p>0</p></td></tr></tbody></table></div></div><br 
class="table-break" /><p>See the <a class="xref" 
href="howto-depend-on-qi4j.html" title="Depend on Qi4j in your build">Depend on 
Qi4j in your build</a> tutorial for details.</p><p>Once theses parts were 
identified it was mostly just a matter of putting interfaces on these pieces, 
and making sure
+on Core API, Core SPI, Core Bootstrap and Core Functional &amp; I/O 
APIs:</p><div class="table"><a id="idm415578479264"></a><p 
class="title"><strong>Table 14. 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.runtime</p></td><td align="left" 
valign="top"><p>0</p></td></tr></tbody></table></div></div><br 
class="table-break" /><p>See the <a class="xref" 
href="howto-depend-on-qi4j.html" title="Depend on Zest™ in your build">Depend 
on Zest™ in your build</a> tutorial for details.</p><p>Once theses parts were 
identified it was mostly just a matter of putting interfaces on these pieces, 
and m
 aking sure
 they can be easily used in many different situations. The result is as 
follows.</p><p>To start with we have Input:</p><pre class="programlisting 
brush: java">public interface Input&lt;T, SenderThrowableType extends 
Throwable&gt;
 {
     &lt;ReceiverThrowableType extends Throwable&gt; void transferTo( 
Output&lt;? super T, ReceiverThrowableType&gt; output )
@@ -184,8 +184,8 @@ call to map(). The example can then be w
 File destination = ...
 Counter&lt;String&gt; counter = new Counter&lt;String&gt;();
 Inputs.text( source ).transferTo( Transforms.map(counter, 
Outputs.text(destination) ));
-System.out.println("Nr of lines:"+counter.getCount())</pre></div><div 
class="section" title="Usage in the Qi4j SPI"><div 
class="titlepage"><div><div><h4 class="title"><a 
id="_usage_in_the_qi4j_spi"></a>Usage in the Qi4j 
SPI</h4></div></div></div><p>Now I can finally get back to my initial problem 
that led me to look into this: how to implement a good way to access
-EntityStates in a Qi4j EntityStore, and perform restores of backups. The 
current version of accessing EntityStates look
+System.out.println("Nr of lines:"+counter.getCount())</pre></div><div 
class="section" title="Usage in the Zest™ SPI"><div 
class="titlepage"><div><div><h4 class="title"><a 
id="_usage_in_the_zest_spi"></a>Usage in the Zest™ 
SPI</h4></div></div></div><p>Now I can finally get back to my initial problem 
that led me to look into this: how to implement a good way to access
+EntityStates in a Zest™ EntityStore, and perform restores of backups. The 
current version of accessing EntityStates look
 like this:</p><pre class="programlisting brush: java">&lt;ThrowableType 
extends Throwable&gt; void visitEntityStates( 
EntityStateVisitor&lt;ThrowableType&gt; visitor, ModuleSPI module )
      throws ThrowableType;
 
@@ -215,7 +215,7 @@ possible with some transformations in th
 errors and badly applied patterns. By introducing a generic Input/Output API 
that encapsulates and separates these
 things properly it becomes easier to perform these tasks in a scalable, 
performant and error-free way, and while still
 allowing these tasks to be decorated with extra features when 
needed.</p><p>This article has outlined one way to do this, and the API and 
helpers that I’ve described are available in the current
-Qi4j Core 1.3-SNAPSHOT in Git (see Qi4j homepage for access details). The idea 
is to start using it throughout Qi4j
+Zest™ Core 1.3-SNAPSHOT in Git (see Zest™ homepage for access details). 
The idea is to start using it throughout Zest
 wherever we need to do I/O of the type described here.</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>

Modified: zest/site/content/java/develop/images/logo-standard.png
URL: 
http://svn.apache.org/viewvc/zest/site/content/java/develop/images/logo-standard.png?rev=1689843&r1=1689842&r2=1689843&view=diff
==============================================================================
Binary files - no diff available.

Modified: zest/site/content/java/develop/index.html
URL: 
http://svn.apache.org/viewvc/zest/site/content/java/develop/index.html?rev=1689843&r1=1689842&r2=1689843&view=diff
==============================================================================
--- zest/site/content/java/develop/index.html (original)
+++ zest/site/content/java/develop/index.html Wed Jul  8 11:08:41 2015
@@ -66,16 +66,18 @@
   })();
  </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"><span xmlns="" 
href="index.html#home">Qi4j</span></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"><a 
href="glossary.html">Glo
 ssary </a></span></dt></dl></div></div><div xmlns="" 
xmlns:exsl="http://exslt.org/common"; class="sub-nav"></div><div xml:lang="en" 
class="article" lang="en"><div class="titlepage"><hr /></div><div 
class="section" title="Qi4j"><div class="titlepage"><div><div><h2 
class="title"><a id="home"></a>Qi4j</h2></div></div></div><div 
class="important" title="Important" style="margin-left: 0.5in; margin-right: 
0.5in;"><h3 class="title">Important</h3><p>This is the documentation for <span 
class="strong"><strong>Qi4j 0</strong></span>. Use the version switcher on the 
left to browse other
-versions documentation.</p></div><div class="section" title="What is 
Qi4j™?"><div class="titlepage"><div><div><h3 class="title"><a 
id="_what_is_qi4j"></a>What is Qi4j™?</h3></div></div></div><p>The short 
answer is that Qi4j™ is a framework for domain centric application 
development, including evolved concepts
-from <a class="ulink" 
href="http://en.wikipedia.org/wiki/Aspect-oriented_programming"; 
target="_top">AOP</a>,
-<a class="ulink" href="http://en.wikipedia.org/wiki/Dependency_injection"; 
target="_top">DI</a> and <a class="ulink" 
href="http://en.wikipedia.org/wiki/Domain-driven_design"; 
target="_top">DDD</a>.</p><p>Qi4j™ is an implementation of Composite Oriented 
Programming, using the standard Java platform, without the use of
+  </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"><span xmlns="" 
href="index.html#home">Zest™</span></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"><a 
href="glossary.htm
 l">Glossary </a></span></dt></dl></div></div><div xmlns="" 
xmlns:exsl="http://exslt.org/common"; class="sub-nav"></div><div xml:lang="en" 
class="article" lang="en"><div class="titlepage"><hr /></div><div 
class="section" title="Zest™"><div class="titlepage"><div><div><h2 
class="title"><a id="home"></a>Zest™</h2></div></div></div><div 
class="important" title="Important" style="margin-left: 0.5in; margin-right: 
0.5in;"><h3 class="title">Important</h3><p>This is the documentation for <span 
class="strong"><strong>Zest™ 0</strong></span>. Use the version switcher on 
the left to browse other
+versions documentation.</p></div><div class="section" title="What is Apache 
Zest™ ?"><div class="titlepage"><div><div><h3 class="title"><a 
id="_what_is_apache_zest"></a>What is Apache Zest™ 
?</h3></div></div></div><p>The short answer is that Apache Zest™ is a 
framework for domain centric application development, including evolved
+concepts from <a class="ulink" 
href="http://en.wikipedia.org/wiki/Aspect-oriented_programming"; 
target="_top">AOP</a>,
+<a class="ulink" href="http://en.wikipedia.org/wiki/Dependency_injection"; 
target="_top">DI</a> and <a class="ulink" 
href="http://en.wikipedia.org/wiki/Domain-driven_design"; 
target="_top">DDD</a>.</p><p>Zest™ is an implementation of Composite Oriented 
Programming, using the standard Java platform, without the use of
 any pre-processors or new language elements. Everything you know from Java 
still applies and you can leverage both
-your experience and toolkits to become more productive with Composite Oriented 
Programming today.</p><p>Moreover, Qi4j™ enables Composite Oriented 
Programming on the Java platform, including both Java and Scala as primary
-languages as well as many of the plethora of languages running on the JVM as 
bridged languages.</p><p><span class="inlinemediaobject"><img 
src="images/intro-qi.png" alt="Qi" /></span></p><p>Qi4j™ is pronounced "chee 
for jay". This website is out of scope to explain the many
+your experience and toolkits to become more productive with Composite Oriented 
Programming today.</p><p>Moreover, Zest™ enables Composite Oriented 
Programming on the Java platform, including both Java and Scala as primary
+languages as well as many of the plethora of languages running on the JVM as 
bridged languages.</p><p>We strongly recommend the <a class="link" 
href="intro.html" title="Introduction">introduction</a> section.</p></div><div 
class="section" title="Brief History"><div class="titlepage"><div><div><h3 
class="title"><a id="_brief_history"></a>Brief 
History</h3></div></div></div><p>Apache Zest™ started its life in 2007 as 
Qi4j™, initially at OPS4J’s infrastructure and later on GitHub.
+In March 2015, Apache Zest™ was created with the Qi4j™ codebase as the 
base, existing Apache Members as the
+bootstrap Project Management Committee (PMC).</p><p><span 
class="inlinemediaobject"><img src="images/intro-qi.png" alt="Qi" 
/></span></p><p>Qi4j™ is pronounced "chee for jay". This website is out of 
scope to explain the many
 facets and history of Qi, so we refer the interested to read the <a 
class="ulink" href="http://en.wikipedia.org/wiki/Qi"; target="_top">lengthy 
article</a> at
 Wikipedia. For us, Qi is the force/energy within the body, in this case the 
Java platform. Something that makes Java
-so much better, if it is found and channeled into a greater good.</p><p>We 
strongly recommend the <a class="link" href="intro.html" 
title="Introduction">introduction</a> section.</p></div></div></div><div 
xmlns="" xmlns:exsl="http://exslt.org/common"; class="footer"><p>
+so much better, if it is found and channeled into a greater 
good.</p></div></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 />


Reply via email to