http://git-wip-us.apache.org/repos/asf/isis-site/blob/274edd1d/content/versions/2.0.0-M1/guides/rgcfg/rgcfg.pdf ---------------------------------------------------------------------- diff --git a/content/versions/2.0.0-M1/guides/rgcfg/rgcfg.pdf b/content/versions/2.0.0-M1/guides/rgcfg/rgcfg.pdf index 5609f91..1071280 100644 --- a/content/versions/2.0.0-M1/guides/rgcfg/rgcfg.pdf +++ b/content/versions/2.0.0-M1/guides/rgcfg/rgcfg.pdf @@ -4,8 +4,8 @@ << /Title <feff0043006f0072006500200043006f006e0066006900672019006e002000500072006f0070006500720074006900650073> /Creator (Asciidoctor PDF 1.5.0.alpha.11, based on Prawn 1.3.0) /Producer (Asciidoctor PDF 1.5.0.alpha.11, based on Prawn 1.3.0) -/CreationDate (D:20180812182428+01'00') -/ModDate (D:20180812182428+01'00') +/CreationDate (D:20180814003807+02'00') +/ModDate (D:20180814003807+02'00') >> endobj 2 0 obj
http://git-wip-us.apache.org/repos/asf/isis-site/blob/274edd1d/content/versions/2.0.0-M1/guides/rgcms/rgcms.html ---------------------------------------------------------------------- diff --git a/content/versions/2.0.0-M1/guides/rgcms/rgcms.html b/content/versions/2.0.0-M1/guides/rgcms/rgcms.html index 296e499..7d9da36 100644 --- a/content/versions/2.0.0-M1/guides/rgcms/rgcms.html +++ b/content/versions/2.0.0-M1/guides/rgcms/rgcms.html @@ -1153,7 +1153,7 @@ table.CodeRay td.code>pre{padding:0} <p>The <code>defaultâ¦â()</code> supporting method is called for action parameters to return the initial argument value. This may be some sensible default (eg todayâs date, or 0 or 1), orâââfor an action that is modifying the state of an objectâââmight default to the current value of a corresponding property.</p> </div> <div class="paragraph"> - <p>The method is <em>also</em> called for properties in the case when an object is newly instantiated using <a href="../rgsvc/rgsvc.html#_rgsvc_core-domain-api_DomainObjectContainer"><code>DomainObjectContainer#newTransientInstance(â¦â)</code></a>. This is a much less common use case. If a default is not specified then properties are initialized to a default based on their type (eg 0 or <code>false</code>).</p> + <p>The method is <em>also</em> called for properties in the case when an object is newly instantiated using <a href="../rgsvc/rgsvc.html#_rgsvc_core-domain-api_RepositoryService"><code>RepositoryService#instantiate(â¦â)</code></a> or <a href="../rgsvc/rgsvc.html#_rgsvc_core-domain-api_FactoryService"><code>FactoryService#instantiate(â¦â)</code></a>. This is a much less common use case. If a default is not specified then properties are initialized to a default based on their type (eg 0 or <code>false</code>).</p> </div> <div class="paragraph"> <p>The signature of the supporting method depends on whether it is for an action parameter or a property.</p> @@ -1294,7 +1294,7 @@ table.CodeRay td.code>pre{padding:0} <p>There are, in fact, two other ways to set properties of a newly instantiated object to default values.</p> </div> <div class="paragraph"> - <p>The first is to use the <a href="../rgcms/rgcms.html#_rgcms_methods_lifecycle_created"><code>created()</code></a> callback, called by the framework when <a href="../rgsvc/rgsvc.html#_rgsvc_core-domain-api_DomainObjectContainer"><code>DomainObjectContainer#newTransientInstance(â¦â)</code></a> is called. This method is called after any dependencies have been injected into the service.</p> + <p>The first is to use the <a href="../rgcms/rgcms.html#_rgcms_methods_lifecycle_created"><code>created()</code></a> callback, called by the framework when <a href="../rgsvc/rgsvc.html#_rgsvc_core-domain-api_RepositoryService"><code>RepositoryService#instantiate(â¦â)</code></a> or <a href="../rgsvc/rgsvc.html#_rgsvc_core-domain-api_FactoryService"><code>FactoryService#instantiate(â¦â)</code></a> is called. This method is called after any services have been injected into the domain object.</p> </div> <div class="paragraph"> <p>The second is more straightforward: simply initialize properties in the constructor. However, this cannot use any injected services as they will not have been initialized.</p> @@ -2190,9 +2190,7 @@ table.CodeRay td.code>pre{padding:0} <pre class="CodeRay highlight"><code data-lang="java"><span class="directive">public</span> <span class="directive">final</span> <span class="type">class</span> <span class="class">ToDoAppDomainModule</span> { <span class="directive">private</span> ToDoAppDomainModule(){} <span class="directive">public</span> <span class="directive">abstract</span> <span class="directive">static</span> <span class="type">class</span> <span class="class">PropertyDomainEvent</span><S,T> - <span class="directive">extends</span> org.apache.isis.applib.events.domain.PropertyDomainEvent<S,T> { - ... - } + <span class="directive">extends</span> org.apache.isis.applib.events.domain.PropertyDomainEvent<S,T> { } ... }</code></pre> </div> @@ -2203,10 +2201,7 @@ table.CodeRay td.code>pre{padding:0} <div class="listingblock"> <div class="content"> <pre class="CodeRay highlight"><code data-lang="java"><span class="directive">public</span> <span class="type">class</span> <span class="class">ToDoItem</span> ... { - <span class="directive">public</span> <span class="directive">static</span> <span class="type">class</span> <span class="class">DescriptionDomainEvent</span> - <span class="directive">extends</span> PropertyDomainEvent<<span class="predefined-type">String</span>> { - ... - } + <span class="directive">public</span> <span class="directive">static</span> <span class="type">class</span> <span class="class">DescriptionDomainEvent</span> <span class="directive">extends</span> PropertyDomainEvent<<span class="predefined-type">String</span>> { } <span class="annotation">@Property</span>( domainEvent = DescriptionDomainEvent.class ) @@ -2574,20 +2569,14 @@ table.CodeRay td.code>pre{padding:0} <td class="icon"> <i class="fa icon-warning" title="Warning"></i> </td> <td class="content"> <div class="paragraph"> - <p>Note that these callbacks are fired by Apache Isis rather than JDO. In the future we may deprecate them because there are better mechanisms available using listeners/subscribers:</p> - </div> - <div class="ulist"> - <ul> - <li> <p>in Isis 1.9.0 and earlier, you may therefore want to consider using the JDO API directly to set up a lifecycle listener; see <a href="../rgcms/rgcms.html#_rgcms_methods_lifecycle_jdo-api">here</a> for further discussion.</p> </li> - <li> <p>alternatively, you can use a subscriber for the <a href="../rgcms/rgcms.html#_rgcms_classes_lifecycleevent">lifecycle event</a>s fired in Isis.</p> </li> - </ul> + <p>Note that these callbacks are fired by Apache Isis rather than JDO. In the future we may deprecate them because there are better mechanisms available using a subscriber for the <a href="../rgcms/rgcms.html#_rgcms_classes_lifecycleevent">lifecycle event</a>s.</p> </div> </td> </tr> </tbody> </table> </div> <div class="paragraph"> - <p>The lifecycle callback methods supported by Isis are:</p> + <p>The lifecycle callback methods supported by Apache Isis are:</p> </div> <table class="tableblock frame-all grid-all spread"> <caption class="title"> @@ -2609,7 +2598,7 @@ table.CodeRay td.code>pre{padding:0} <td class="tableblock halign-left valign-top"> <div> <div class="paragraph"> - <p>called when an object has just been created using <a href="../rgsvc/rgsvc.html#_rgsvc_core-domain-api_DomainObjectContainer"><code>newTransientInstance()</code></a></p> + <p>called when an object has just been created using <a href="../rgsvc/rgsvc.html#_rgsvc_core-domain-api_FactoryService"><code>FactoryService#instantiate(..)</code></a> or <a href="../rgsvc/rgsvc.html#_rgsvc_core-domain-api_RepositoryService"><code>RepositoryService#instantiate(â¦â)</code></a></p> </div> </div></td> </tr> @@ -2678,84 +2667,6 @@ table.CodeRay td.code>pre{padding:0} </tr> </tbody> </table> - <div class="paragraph"> - <p>Some lifecycle methods have been deprecated:</p> - </div> - <table class="tableblock frame-all grid-all spread"> - <caption class="title"> - Table 4. Deprecated lifecycle methods - </caption> - <colgroup> - <col style="width: 20%;"> - <col style="width: 80%;"> - </colgroup> - <thead> - <tr> - <th class="tableblock halign-left valign-top">Method</th> - <th class="tableblock halign-left valign-top">Notes</th> - </tr> - </thead> - <tbody> - <tr> - <td class="tableblock halign-left valign-top"><p class="tableblock"><code>deleted()</code></p></td> - <td class="tableblock halign-left valign-top"> - <div> - <div class="paragraph"> - <p>Replaced by <a href="../rgcms/rgcms.html#_rgcms_methods_lifecycle_removed"><code>removed()</code></a></p> - </div> - </div></td> - </tr> - <tr> - <td class="tableblock halign-left valign-top"><p class="tableblock"><code>deleting()</code></p></td> - <td class="tableblock halign-left valign-top"> - <div> - <div class="paragraph"> - <p>Replaced by <a href="../rgcms/rgcms.html#_rgcms_methods_lifecycle_removing"><code>removing()</code></a></p> - </div> - </div></td> - </tr> - <tr> - <td class="tableblock halign-left valign-top"><p class="tableblock"><code>loading()</code></p></td> - <td class="tableblock halign-left valign-top"> - <div> - <div class="paragraph"> - <p>callback for when the (persistent) object is just about to be loaded from the object store.<br></p> - </div> - <div class="admonitionblock warning"> - <table> - <tbody> - <tr> - <td class="icon"> <i class="fa icon-warning" title="Warning"></i> </td> - <td class="content"> - <div class="paragraph"> - <p>This method is never called.</p> - </div> </td> - </tr> - </tbody> - </table> - </div> - </div></td> - </tr> - <tr> - <td class="tableblock halign-left valign-top"><p class="tableblock"><code>saved()</code></p></td> - <td class="tableblock halign-left valign-top"> - <div> - <div class="paragraph"> - <p>Replaced by <a href="../rgcms/rgcms.html#_rgcms_methods_lifecycle_persisted"><code>persisted()</code></a></p> - </div> - </div></td> - </tr> - <tr> - <td class="tableblock halign-left valign-top"><p class="tableblock"><code>saving()</code></p></td> - <td class="tableblock halign-left valign-top"> - <div> - <div class="paragraph"> - <p>Replaced by <a href="../rgcms/rgcms.html#_rgcms_methods_lifecycle_persisting"><code>persisting()</code></a></p> - </div> - </div></td> - </tr> - </tbody> - </table> <div class="sect3"> <h4 id="_rgcms_methods_lifecycle_created">2.3.1. <code>created()</code></h4> <div class="btn-group" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "> @@ -2769,7 +2680,7 @@ table.CodeRay td.code>pre{padding:0} </ul> </div> <div class="paragraph"> - <p>The <code>created()</code> lifecycle callback method is called when an object has just been created using <a href="../rgsvc/rgsvc.html#_rgsvc_core-domain-api_DomainObjectContainer"><code>newTransientInstance()</code></a></p> + <p>The <code>created()</code> lifecycle callback method is called when an object has just been created using <a href="../rgsvc/rgsvc.html#_rgsvc_core-domain-api_RepositoryService"><code>RepositoryService#instantiate(â¦â)</code></a> or <a href="../rgsvc/rgsvc.html#_rgsvc_core-domain-api_FactoryService"><code>FactoryService#instantiate(â¦â)</code></a></p> </div> <div class="admonitionblock tip"> <table> @@ -3565,7 +3476,7 @@ table.CodeRay td.code>pre{padding:0} </div> <table class="tableblock frame-all grid-all spread"> <caption class="title"> - Table 5. Convenience Superclasses + Table 4. Convenience Superclasses </caption> <colgroup> <col style="width: 25%;"> @@ -3583,39 +3494,6 @@ table.CodeRay td.code>pre{padding:0} </thead> <tbody> <tr> - <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="../rgcms/rgcms.html#_rgcms_classes_super_AbstractContainedObject"><code>o.a.i.applib.</code><br> <code>AbstractContainedObject</code></a></p></td> - <td class="tableblock halign-left valign-top"> - <div> - <div class="paragraph"> - <p><code>o.a.i.core</code><br> <code>isis-core-applib</code></p> - </div> - </div></td> - <td class="tableblock halign-left valign-top"><p class="tableblock">(abstract class)</p></td> - <td class="tableblock halign-left valign-top"></td> - </tr> - <tr> - <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="../rgcms/rgcms.html#_rgcms_classes_super_AbstractDomainObject"><code>o.a.i.applib.</code><br> <code>AbstractDomainObject</code></a></p></td> - <td class="tableblock halign-left valign-top"> - <div> - <div class="paragraph"> - <p><code>o.a.i.core</code><br> <code>isis-core-applib</code></p> - </div> - </div></td> - <td class="tableblock halign-left valign-top"><p class="tableblock">(abstract class)</p></td> - <td class="tableblock halign-left valign-top"></td> - </tr> - <tr> - <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="../rgcms/rgcms.html#_rgcms_classes_super_AbstractFactoryAndRepository"><code>o.a.i.applib.</code><br> <code>AbstractFactoryAndRepository</code></a></p></td> - <td class="tableblock halign-left valign-top"> - <div> - <div class="paragraph"> - <p><code>o.a.i.core</code><br> <code>isis-core-applib</code></p> - </div> - </div></td> - <td class="tableblock halign-left valign-top"><p class="tableblock">(abstract class)</p></td> - <td class="tableblock halign-left valign-top"></td> - </tr> - <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="../rgcms/rgcms.html#_rgcms_classes_super_AbstractService"><code>o.a.i.applib.</code><br> <code>AbstractService</code></a></p></td> <td class="tableblock halign-left valign-top"> <div> @@ -3667,98 +3545,13 @@ table.CodeRay td.code>pre{padding:0} <p><code>o.a.i.core</code><br> <code>isis-core-applib</code></p> </div> </div></td> - <td class="tableblock halign-left valign-top"><p class="tableblock">(abstract class).<br> <code>FixtureScriptsDefault</code> is a default implementation that is used when the alternative <a href="../rgsvc/rgsvc.html#_rgsvc_api_FixtureScriptsSpecificationProvider"><code>FixtureScriptsSpecificationProvider</code></a> is provided (and no other implementation of <code>FixtureScripts</code> was found).</p></td> + <td class="tableblock halign-left valign-top"><p class="tableblock">(abstract class).<br> <code>FixtureScriptsDefault</code> is a default implementation that is used when the alternative <a href="../rgsvc/rgsvc.html#_rgsvc_testing_FixtureScriptsSpecificationProvider"><code>FixtureScriptsSpecificationProvider</code></a> is provided (and no other implementation of <code>FixtureScripts</code> was found).</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">depends on:<br> <code>ClassDiscoveryService</code></p></td> </tr> </tbody> </table> <div class="sect3"> - <h4 id="_rgcms_classes_super_AbstractContainedObject">3.2.1. <code>AbstractContainedObject</code></h4> - <div class="btn-group" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "> - <button type="button" class="btn btn-xs btn-default" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_classes_super_AbstractContainedObject.adoc""><i class="fa fa-pencil-square-o"></i> Edit</button> - <button type="button" class="btn btn-xs btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><span class="caret"></span><span class="sr-only">Toggle Dropdown</span></button> - <ul class="dropdown-menu"> - <li><a href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_classes_super_AbstractContainedObject.adoc" target="_blank"><i class="fa fa-pencil-square-o fa-fw" aria-hidden="true"></i> Edit</a></li> - <li><a href="https://github.com/apache/isis/commits/master/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_classes_super_AbstractContainedObject.adoc" target="_blank"><i class="fa fa-clock-o fa-fw" aria-hidden="true"></i> History</a></li> - <li><a href="https://github.com/apache/isis/raw/master/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_classes_super_AbstractContainedObject.adoc" target="_blank"><i class="fa fa-file-text-o fa-fw" aria-hidden="true"></i> Raw</a></li> - <li><a href="https://github.com/apache/isis/blame/master/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_classes_super_AbstractContainedObject.adoc" target="_blank"><i class="fa fa-hand-o-right fa-fw" aria-hidden="true"></i> Blame</a></li> - </ul> - </div> - <div class="paragraph"> - <p>This class is a convenience superclass for domain objects and services, providing general purpose methods for interacting with the framework. These include:</p> - </div> - <div class="ulist"> - <ul> - <li> <p><code>allMatches(Query)</code> - search for all objects matching the specified <code>Query</code>.<br></p> - <div class="paragraph"> - <p>+ Note that this, and other similar methods (eg <code>firstMatch(â¦â)</code>, <code>uniqueMatch(â¦â)</code>) will automatically flush the current transaction.</p> - </div> </li> - <li> <p><code>newTransientInstance(Class)</code> - to create a new instance of an object, with any services injected into it</p> </li> - <li> <p><code>persistIfNotAlready(Object)</code> - to persist an object<br></p> - <div class="paragraph"> - <p>In fact, the object is queued up to be persisted, and is only actually persisted either when the transaction commits, or when the transaction is flushed (typically when a query is performed).</p> - </div> </li> - <li> <p><code>warnUser(String)</code> - generate a warning to the user</p> </li> - <li> <p><code>getContainer()</code> - which returns the <code>DomainObjectContainer</code></p> </li> - </ul> - </div> - <div class="paragraph"> - <p>Each of these methods simply delegates to an equivalent method in <a href="../rgsvc/rgsvc.html#_rgsvc_core-domain-api_DomainObjectContainer"><code>DomainObjectContainer</code></a>.</p> - </div> - <div class="admonitionblock tip"> - <table> - <tbody> - <tr> - <td class="icon"> <i class="fa icon-tip" title="Tip"></i> </td> - <td class="content"> - <div class="paragraph"> - <p>In practice we find that thereâs little to gain from subclassing; itâs easier/less obscure to simply inject <a href="../rgsvc/rgsvc.html#_rgsvc_core-domain-api_DomainObjectContainer"><code>DomainObjectContainer</code></a> into a simple pojo class.</p> - </div> </td> - </tr> - </tbody> - </table> - </div> - </div> - <div class="sect3"> - <h4 id="_rgcms_classes_super_AbstractDomainObject">3.2.2. <code>AbstractDomainObject</code></h4> - <div class="btn-group" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "> - <button type="button" class="btn btn-xs btn-default" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_classes_super_AbstractDomainObject.adoc""><i class="fa fa-pencil-square-o"></i> Edit</button> - <button type="button" class="btn btn-xs btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><span class="caret"></span><span class="sr-only">Toggle Dropdown</span></button> - <ul class="dropdown-menu"> - <li><a href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_classes_super_AbstractDomainObject.adoc" target="_blank"><i class="fa fa-pencil-square-o fa-fw" aria-hidden="true"></i> Edit</a></li> - <li><a href="https://github.com/apache/isis/commits/master/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_classes_super_AbstractDomainObject.adoc" target="_blank"><i class="fa fa-clock-o fa-fw" aria-hidden="true"></i> History</a></li> - <li><a href="https://github.com/apache/isis/raw/master/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_classes_super_AbstractDomainObject.adoc" target="_blank"><i class="fa fa-file-text-o fa-fw" aria-hidden="true"></i> Raw</a></li> - <li><a href="https://github.com/apache/isis/blame/master/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_classes_super_AbstractDomainObject.adoc" target="_blank"><i class="fa fa-hand-o-right fa-fw" aria-hidden="true"></i> Blame</a></li> - </ul> - </div> - <div class="paragraph"> - <p>This class extends <a href="../rgcms/rgcms.html#_rgcms_classes_super_AbstractContainedObject"><code>AbstractContainedObject</code></a>, adding in convenience methods for managing the persistence lifecycle of the object instance.</p> - </div> - <div class="paragraph"> - <p>Each of these methods, eg <code>isPersistent(â¦â)</code>, delegates to an equivalent method in <a href="../rgsvc/rgsvc.html#_rgsvc_core-domain-api_DomainObjectContainer"><code>DomainObjectContainer</code></a>.</p> - </div> - </div> - <div class="sect3"> - <h4 id="_rgcms_classes_super_AbstractFactoryAndRepository">3.2.3. <code>AbstractFactoryAndRepository</code></h4> - <div class="btn-group" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "> - <button type="button" class="btn btn-xs btn-default" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_classes_super_AbstractFactoryAndRepository.adoc""><i class="fa fa-pencil-square-o"></i> Edit</button> - <button type="button" class="btn btn-xs btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><span class="caret"></span><span class="sr-only">Toggle Dropdown</span></button> - <ul class="dropdown-menu"> - <li><a href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_classes_super_AbstractFactoryAndRepository.adoc" target="_blank"><i class="fa fa-pencil-square-o fa-fw" aria-hidden="true"></i> Edit</a></li> - <li><a href="https://github.com/apache/isis/commits/master/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_classes_super_AbstractFactoryAndRepository.adoc" target="_blank"><i class="fa fa-clock-o fa-fw" aria-hidden="true"></i> History</a></li> - <li><a href="https://github.com/apache/isis/raw/master/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_classes_super_AbstractFactoryAndRepository.adoc" target="_blank"><i class="fa fa-file-text-o fa-fw" aria-hidden="true"></i> Raw</a></li> - <li><a href="https://github.com/apache/isis/blame/master/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_classes_super_AbstractFactoryAndRepository.adoc" target="_blank"><i class="fa fa-hand-o-right fa-fw" aria-hidden="true"></i> Blame</a></li> - </ul> - </div> - <div class="paragraph"> - <p>This class extends <a href="../rgcms/rgcms.html#_rgcms_classes_super_AbstractContainedObject"><code>AbstractContainedObject</code></a>. Its intent was to be a convenience subclass for services acting as either a repository or a factory, however note that all of the methods that it defines are now deprecated.</p> - </div> - <div class="paragraph"> - <p>Instead, indicate that a service is repository using the <a href="../rgant/rgant.html#_rgant-DomainService_repositoryFor"><code>@DomainService#repositoryFor()</code></a> attribute.</p> - </div> - </div> - <div class="sect3"> - <h4 id="_rgcms_classes_super_AbstractService">3.2.4. <code>AbstractService</code></h4> + <h4 id="_rgcms_classes_super_AbstractService">3.2.1. <code>AbstractService</code></h4> <div class="btn-group" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "> <button type="button" class="btn btn-xs btn-default" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_classes_super_AbstractService.adoc""><i class="fa fa-pencil-square-o"></i> Edit</button> <button type="button" class="btn btn-xs btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><span class="caret"></span><span class="sr-only">Toggle Dropdown</span></button> @@ -3770,14 +3563,14 @@ table.CodeRay td.code>pre{padding:0} </ul> </div> <div class="paragraph"> - <p>This class extends <a href="../rgcms/rgcms.html#_rgcms_classes_super_AbstractContainedObject"><code>AbstractContainedObject</code></a>, adding in an implementation of <code>getId()</code> based upon the classes name.</p> + <p>This class provides an implementation of the optional <code>getId()</code> method for domain services, based upon the classes name.</p> </div> <div class="paragraph"> - <p>In practice there is little to gain from subclassing; simply inject <a href="../rgsvc/rgsvc.html#_rgsvc_core-domain-api_DomainObjectContainer"><code>DomainObjectContainer</code></a> for broadly equivalent functionality.</p> + <p>In practice there is little to gain from subclassing. Instead annotated with <a href="../rgant/rgant.html#_rgant_DomainService"><code>@DomainService</code></a> and specify its <a href="../rgant/rgant.html#_rgant_DomainService_objectType"><code>#objectType()</code></a></p> </div> </div> <div class="sect3"> - <h4 id="_rgcms_classes_super_AbstractSubscriber">3.2.5. <code>AbstractSubscriber</code></h4> + <h4 id="_rgcms_classes_super_AbstractSubscriber">3.2.2. <code>AbstractSubscriber</code></h4> <div class="btn-group" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "> <button type="button" class="btn btn-xs btn-default" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_classes_super_AbstractSubscriber.adoc""><i class="fa fa-pencil-square-o"></i> Edit</button> <button type="button" class="btn btn-xs btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><span class="caret"></span><span class="sr-only">Toggle Dropdown</span></button> @@ -3799,7 +3592,7 @@ table.CodeRay td.code>pre{padding:0} </div> </div> <div class="sect3"> - <h4 id="_rgcms_classes_super_AbstractViewModel">3.2.6. <code>AbstractViewModel</code></h4> + <h4 id="_rgcms_classes_super_AbstractViewModel">3.2.3. <code>AbstractViewModel</code></h4> <div class="btn-group" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "> <button type="button" class="btn btn-xs btn-default" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_classes_super_AbstractViewModel.adoc""><i class="fa fa-pencil-square-o"></i> Edit</button> <button type="button" class="btn btn-xs btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><span class="caret"></span><span class="sr-only">Toggle Dropdown</span></button> @@ -3811,7 +3604,7 @@ table.CodeRay td.code>pre{padding:0} </ul> </div> <div class="paragraph"> - <p>This class extends <a href="../rgcms/rgcms.html#_rgcms_classes_super_AbstractContainedObject"><code>AbstractContainedObject</code></a>, also implementing the <a href="../rgcms/rgcms.html#_rgcms_classes_super_ViewModel"><code>ViewModel</code></a> interface. In and of itself it provides no new behaviour.</p> + <p>This class simply implements the <a href="../rgcms/rgcms.html#_rgcms_classes_super_ViewModel"><code>ViewModel</code></a> interface, however the methods are still abstract. In and of itself it provides no new behaviour.</p> </div> <div class="admonitionblock tip"> <table> @@ -3820,7 +3613,7 @@ table.CodeRay td.code>pre{padding:0} <td class="icon"> <i class="fa icon-tip" title="Tip"></i> </td> <td class="content"> <div class="paragraph"> - <p>As an alternative, consider simply annotating the view model class with {@link org.apache.isis.applib.annotation.ViewModel}.</p> + <p>As an alternative, consider simply annotating the view model class with {@link org.apache.isis.applib.annotation.ViewModel} annotation.</p> </div> </td> </tr> </tbody> @@ -3828,7 +3621,7 @@ table.CodeRay td.code>pre{padding:0} </div> </div> <div class="sect3"> - <h4 id="_rgcms_classes_super_FixtureScript">3.2.7. <code>FixtureScript</code></h4> + <h4 id="_rgcms_classes_super_FixtureScript">3.2.4. <code>FixtureScript</code></h4> <div class="btn-group" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "> <button type="button" class="btn btn-xs btn-default" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_classes_super_FixtureScript.adoc""><i class="fa fa-pencil-square-o"></i> Edit</button> <button type="button" class="btn btn-xs btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><span class="caret"></span><span class="sr-only">Toggle Dropdown</span></button> @@ -3858,7 +3651,7 @@ table.CodeRay td.code>pre{padding:0} </div> </div> <div class="sect3"> - <h4 id="_rgcms_classes_super_FixtureScripts">3.2.8. <code>FixtureScripts</code></h4> + <h4 id="_rgcms_classes_super_FixtureScripts">3.2.5. <code>FixtureScripts</code></h4> <div class="btn-group" style="float: right; font-size: small; padding: 6px; margin-top: -55px; "> <button type="button" class="btn btn-xs btn-default" onclick="window.location.href="https://github.com/apache/isis/edit/master/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_classes_super_FixtureScripts.adoc""><i class="fa fa-pencil-square-o"></i> Edit</button> <button type="button" class="btn btn-xs btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><span class="caret"></span><span class="sr-only">Toggle Dropdown</span></button> @@ -3903,7 +3696,7 @@ table.CodeRay td.code>pre{padding:0} </div> <table class="tableblock frame-all grid-all spread"> <caption class="title"> - Table 6. Domain Event Classes + Table 5. Domain Event Classes </caption> <colgroup> <col style="width: 25%;"> @@ -4406,7 +4199,7 @@ table.CodeRay td.code>pre{padding:0} </div> <table class="tableblock frame-all grid-all spread"> <caption class="title"> - Table 7. UI Event Classes + Table 6. UI Event Classes </caption> <colgroup> <col style="width: 25%;"> @@ -4593,7 +4386,7 @@ table.CodeRay td.code>pre{padding:0} </div> <table class="tableblock frame-all grid-all spread"> <caption class="title"> - Table 8. Lifecycle Event Classes + Table 7. Lifecycle Event Classes </caption> <colgroup> <col style="width: 25%;"> @@ -4630,7 +4423,7 @@ table.CodeRay td.code>pre{padding:0} </div> </div></td> <td class="tableblock halign-left valign-top"><p class="tableblock">(abstract class).<br> <code>ObjectCreatedEvent.Default</code> is the concrete implementation that is used.</p></td> - <td class="tableblock halign-left valign-top"><p class="tableblock">Broadcast when an object is first instantiated using the <a href="../rgsvc/rgsvc.html#_rgsvc_core-domain-api_DomainObjectContainer_object-creation-api"><code>DomainObjectContainer</code></a>'s <code>#newTransientInstance(â¦â)</code> method.</p></td> + <td class="tableblock halign-left valign-top"><p class="tableblock">Broadcast when an object is first instantiated using the <a href="../rgsvc/rgsvc.html#_rgsvc_core-domain-api_FactoryService"><code>FactoryService</code></a>'s <code>#instantiate(â¦â)</code> method.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="../rgcms/rgcms.html#_rgcms_classes_lifecycleevent_ObjectLoadedDomainEvent"><code>o.a.i.applib.</code><br> <code>ObjectLoadedEvent</code></a></p></td> @@ -4652,7 +4445,7 @@ table.CodeRay td.code>pre{padding:0} </div> </div></td> <td class="tableblock halign-left valign-top"><p class="tableblock">(abstract class).<br> <code>ObjectPersistedEvent.Default</code> is the concrete implementation that is used.</p></td> - <td class="tableblock halign-left valign-top"><p class="tableblock">Broadcast when an object is first saved (inserted) into the database using the <a href="../rgsvc/rgsvc.html#_rgsvc_core-domain-api_DomainObjectContainer_object-persistence-api"><code>DomainObjectContainer</code></a>'s <code>#persist(â¦â)</code> method.</p></td> + <td class="tableblock halign-left valign-top"><p class="tableblock">Broadcast when an object is first saved (inserted) into the database using the <a href="../rgsvc/rgsvc.html#_rgsvc_core-domain-api_RepositoryService"><code>RepositoryService</code></a>'s <code>#persist(â¦â)</code> method.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="../rgcms/rgcms.html#_rgcms_classes_lifecycleevent_ObjectPersistingDomainEvent"><code>o.a.i.applib.</code><br> <code>ObjectPersistingEvent</code></a></p></td> @@ -4663,7 +4456,7 @@ table.CodeRay td.code>pre{padding:0} </div> </div></td> <td class="tableblock halign-left valign-top"><p class="tableblock">(abstract class).<br> <code>ObjectPersistingEvent.Default</code> is the concrete implementation that is used.</p></td> - <td class="tableblock halign-left valign-top"><p class="tableblock">Broadcast when an object is about to be saved (inserted) into the database using the <a href="../rgsvc/rgsvc.html#_rgsvc_core-domain-api_DomainObjectContainer_object-persistence-api"><code>DomainObjectContainer</code></a>'s <code>#persist(â¦â)</code> method.</p></td> + <td class="tableblock halign-left valign-top"><p class="tableblock">Broadcast when an object is about to be saved (inserted) into the database using the <a href="../rgsvc/rgsvc.html#_rgsvc_core-domain-api_RepositoryService"><code>RepositoryService</code></a>'s <code>#persist(â¦â)</code> method.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="../rgcms/rgcms.html#_rgcms_classes_lifecycleevent_ObjectRemovingDomainEvent"><code>o.a.i.applib.</code><br> <code>ObjectRemovingEvent</code></a></p></td> @@ -4674,7 +4467,7 @@ table.CodeRay td.code>pre{padding:0} </div> </div></td> <td class="tableblock halign-left valign-top"><p class="tableblock">(abstract class).<br> <code>ObjectRemovingEvent.Default</code> is the concrete implementation that is used.</p></td> - <td class="tableblock halign-left valign-top"><p class="tableblock">Broadcast when an object is about to be deleted from the database using the <a href="../rgsvc/rgsvc.html#_rgsvc_core-domain-api_DomainObjectContainer_object-persistence-api"><code>DomainObjectContainer</code></a>'s <code>#remove(â¦â)</code> method.</p></td> + <td class="tableblock halign-left valign-top"><p class="tableblock">Broadcast when an object is about to be deleted from the database using the <a href="../rgsvc/rgsvc.html#_rgsvc_core-domain-api_RepositoryService"><code>RepositoryService</code></a>'s <code>#remove(â¦â)</code> method.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="../rgcms/rgcms.html#_rgcms_classes_lifecycleevent_ObjectUpdatedDomainEvent"><code>o.a.i.applib.</code><br> <code>ObjectUpdatedEvent</code></a></p></td> @@ -4685,7 +4478,7 @@ table.CodeRay td.code>pre{padding:0} </div> </div></td> <td class="tableblock halign-left valign-top"><p class="tableblock">(abstract class).<br> <code>ObjectUpdatedEvent.Default</code> is the concrete implementation that is used.</p></td> - <td class="tableblock halign-left valign-top"><p class="tableblock">Broadcast when an object has just been updated in the database. This is done either explicitly when the current transaction is flushed using the <a href="../rgsvc/rgsvc.html#_rgsvc_core-domain-api_DomainObjectContainer_object-persistence-api"><code>DomainObjectContainer</code></a>'s <code>#flush(â¦â)</code> method, else is done implicitly when the transaction commits at the end of the user request.</p></td> + <td class="tableblock halign-left valign-top"><p class="tableblock">Broadcast when an object has just been updated in the database. This is done either explicitly when the current transaction is flushed using the <a href="../rgsvc/rgsvc.html#_rgsvc_core-domain-api_RepositoryService"><code>RepositoryService</code></a>'s <code>#flush(â¦â)</code> method, else is done implicitly when the transaction commits at the end of the user request.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="../rgcms/rgcms.html#_rgcms_classes_lifecycleevent_ObjectUpdatingDomainEvent"><code>o.a.i.applib.</code><br> <code>ObjectUpdatingEvent</code></a></p></td> @@ -4696,7 +4489,7 @@ table.CodeRay td.code>pre{padding:0} </div> </div></td> <td class="tableblock halign-left valign-top"><p class="tableblock">(abstract class).<br> <code>ObjectUpdatingEvent.Default</code> is the concrete implementation that is used.</p></td> - <td class="tableblock halign-left valign-top"><p class="tableblock">Broadcast when an object is about to be updated in the database. This is done either explicitly when the current transaction is flushed using the <a href="../rgsvc/rgsvc.html#_rgsvc_core-domain-api_DomainObjectContainer_object-persistence-api"><code>DomainObjectContainer</code></a>'s <code>#flush(â¦â)</code> method, else is done implicitly when the transaction commits at the end of the user request.</p></td> + <td class="tableblock halign-left valign-top"><p class="tableblock">Broadcast when an object is about to be updated in the database. This is done either explicitly when the current transaction is flushed using the <a href="../rgsvc/rgsvc.html#_rgsvc_core-domain-api_RepositoryService"><code>RepositoryService</code></a>'s <code>#flush(â¦â)</code> method, else is done implicitly when the transaction commits at the end of the user request.</p></td> </tr> </tbody> </table> @@ -4743,23 +4536,10 @@ table.CodeRay td.code>pre{padding:0} </ul> </div> <div class="paragraph"> - <p>Subclass of <a href="../rgcms/rgcms.html#_rgcms_classes_lifecycleevent_AbstractLifecycleEvent"><code>AbstractLifecycleEvent</code></a>, broadcast when an object is first instantiated using the <a href="../rgsvc/rgsvc.html#_rgsvc_core-domain-api_DomainObjectContainer_object-creation-api"><code>DomainObjectContainer</code></a>'s <code>#newTransientInstance(â¦â)</code> method.</p> + <p>Subclass of <a href="../rgcms/rgcms.html#_rgcms_classes_lifecycleevent_AbstractLifecycleEvent"><code>AbstractLifecycleEvent</code></a>, broadcast when an object is first instantiated using the <a href="../rgsvc/rgsvc.html#_rgsvc_core-domain-api_FactoryService"><code>FactoryServuce</code></a>'s <code>#instantiate(â¦â)</code> method.</p> </div> <div class="paragraph"> - <p><code>ObjectCreatedEvent.Default</code> is the concrete implementation that is used.</p> - </div> - <div class="admonitionblock note"> - <table> - <tbody> - <tr> - <td class="icon"> <i class="fa icon-note" title="Note"></i> </td> - <td class="content"> - <div class="paragraph"> - <p>In the future this may be generalized to allow arbitrary subclasses to be broadcast, see ISIS-803.</p> - </div> </td> - </tr> - </tbody> - </table> + <p><code>ObjectCreatedEvent.Default</code> is the implementation that is used by default, but this can be overridden using <a href="../rgant/rgant.html#_rgant_DomainObject_createdLifecycleEvent"><code>@DomainObject#createdLifecycleEvent()</code></a>.</p> </div> </div> <div class="sect3"> @@ -4807,23 +4587,10 @@ table.CodeRay td.code>pre{padding:0} </ul> </div> <div class="paragraph"> - <p>Subclass of <a href="../rgcms/rgcms.html#_rgcms_classes_lifecycleevent_AbstractLifecycleEvent"><code>AbstractLifecycleEvent</code></a>, broadcast when an object is first saved (inserted) into the database using the <a href="../rgsvc/rgsvc.html#_rgsvc_core-domain-api_DomainObjectContainer_object-persistence-api"><code>DomainObjectContainer</code></a>'s <code>#persist(â¦â)</code> method.</p> + <p>Subclass of <a href="../rgcms/rgcms.html#_rgcms_classes_lifecycleevent_AbstractLifecycleEvent"><code>AbstractLifecycleEvent</code></a>, broadcast when an object is first saved (inserted) into the database using the <a href="../rgsvc/rgsvc.html#_rgsvc_core-domain-api_RepositoryService"><code>RepositoryService</code></a>'s <code>#persist(â¦â)</code> method.</p> </div> <div class="paragraph"> - <p><code>ObjectPersistedEvent.Default</code> is the concrete implementation that is used.</p> - </div> - <div class="admonitionblock note"> - <table> - <tbody> - <tr> - <td class="icon"> <i class="fa icon-note" title="Note"></i> </td> - <td class="content"> - <div class="paragraph"> - <p>In the future this may be generalized to allow arbitrary subclasses to be broadcast, see ISIS-803.</p> - </div> </td> - </tr> - </tbody> - </table> + <p><code>ObjectPersistedEvent.Default</code> is the implementation that is used by default, but this can be overridden using <a href="../rgant/rgant.html#_rgant_DomainObject_persistedLifecycleEvent"><code>@DomainObject#persistedLifecycleEvent()</code></a>.</p> </div> </div> <div class="sect3"> @@ -4839,23 +4606,10 @@ table.CodeRay td.code>pre{padding:0} </ul> </div> <div class="paragraph"> - <p>Subclass of <a href="../rgcms/rgcms.html#_rgcms_classes_lifecycleevent_AbstractLifecycleEvent"><code>AbstractLifecycleEvent</code></a>, broadcast when an object is about to be saved (inserted) into the database using the <a href="../rgsvc/rgsvc.html#_rgsvc_core-domain-api_DomainObjectContainer_object-persistence-api"><code>DomainObjectContainer</code></a>'s <code>#persist(â¦â)</code> method.</p> + <p>Subclass of <a href="../rgcms/rgcms.html#_rgcms_classes_lifecycleevent_AbstractLifecycleEvent"><code>AbstractLifecycleEvent</code></a>, broadcast when an object is about to be saved (inserted) into the database using the <a href="../rgsvc/rgsvc.html#_rgsvc_core-domain-api_RepositoryService"><code>RepositoryService</code></a>'s <code>#persist(â¦â)</code> method.</p> </div> <div class="paragraph"> - <p><code>ObjectPersistingEvent.Default</code> is the concrete implementation that is used.</p> - </div> - <div class="admonitionblock note"> - <table> - <tbody> - <tr> - <td class="icon"> <i class="fa icon-note" title="Note"></i> </td> - <td class="content"> - <div class="paragraph"> - <p>In the future this may be generalized to allow arbitrary subclasses to be broadcast, see ISIS-803.</p> - </div> </td> - </tr> - </tbody> - </table> + <p><code>ObjectPersistingEvent.Default</code> is the implementation that is used by default, but this can be overridden using <a href="../rgant/rgant.html#_rgant_DomainObject_persistingLifecycleEvent"><code>@DomainObject#persistingLifecycleEvent()</code></a>.</p> </div> </div> <div class="sect3"> @@ -4871,23 +4625,10 @@ table.CodeRay td.code>pre{padding:0} </ul> </div> <div class="paragraph"> - <p>Subclass of <a href="../rgcms/rgcms.html#_rgcms_classes_lifecycleevent_AbstractLifecycleEvent"><code>AbstractLifecycleEvent</code></a>, broadcast when an object is about to be deleted from the database using the <a href="../rgsvc/rgsvc.html#_rgsvc_core-domain-api_DomainObjectContainer_object-persistence-api"><code>DomainObjectContainer</code></a>'s <code>#remove(â¦â)</code> method.</p> + <p>Subclass of <a href="../rgcms/rgcms.html#_rgcms_classes_lifecycleevent_AbstractLifecycleEvent"><code>AbstractLifecycleEvent</code></a>, broadcast when an object is about to be deleted from the database using the <a href="../rgsvc/rgsvc.html#_rgsvc_core-domain-api_RepositoryService"><code>RepositoryService</code></a>'s <code>#remove(â¦â)</code> method.</p> </div> <div class="paragraph"> - <p><code>ObjectRemovingEvent.Default</code> is the concrete implementation that is used.</p> - </div> - <div class="admonitionblock note"> - <table> - <tbody> - <tr> - <td class="icon"> <i class="fa icon-note" title="Note"></i> </td> - <td class="content"> - <div class="paragraph"> - <p>In the future this may be generalized to allow arbitrary subclasses to be broadcast, see ISIS-803.</p> - </div> </td> - </tr> - </tbody> - </table> + <p><code>ObjectRemovingEvent.Default</code> is the implementation that is used by default, but this can be overridden using <a href="../rgant/rgant.html#_rgant_DomainObject_removingLifecycleEvent"><code>@DomainObject#removingLifecycleEvent()</code></a>.</p> </div> </div> <div class="sect3"> @@ -4903,23 +4644,10 @@ table.CodeRay td.code>pre{padding:0} </ul> </div> <div class="paragraph"> - <p>Subclass of <a href="../rgcms/rgcms.html#_rgcms_classes_lifecycleevent_AbstractLifecycleEvent"><code>AbstractLifecycleEvent</code></a>, broadcast when an object has just been updated in the database. This is done either explicitly when the current transaction is flushed using the <a href="../rgsvc/rgsvc.html#_rgsvc_core-domain-api_DomainObjectContainer_object-persistence-api"><code>DomainObjectContainer</code></a>'s <code>#flush(â¦â)</code> method, else is done implicitly when the transaction commits at the end of the user request.</p> + <p>Subclass of <a href="../rgcms/rgcms.html#_rgcms_classes_lifecycleevent_AbstractLifecycleEvent"><code>AbstractLifecycleEvent</code></a>, broadcast when an object has just been updated in the database. This is done either explicitly when the current transaction is flushed using the <a href="../rgsvc/rgsvc.html#_rgsvc_core-domain-api_RepositoryService"><code>RepositoryService</code></a>'s <code>#flush(â¦â)</code> method, else is done implicitly when the transaction commits at the end of the user request.</p> </div> <div class="paragraph"> - <p><code>ObjectUpdatedEvent.Default</code> is the concrete implementation that is used.</p> - </div> - <div class="admonitionblock note"> - <table> - <tbody> - <tr> - <td class="icon"> <i class="fa icon-note" title="Note"></i> </td> - <td class="content"> - <div class="paragraph"> - <p>In the future this may be generalized to allow arbitrary subclasses to be broadcast, see ISIS-803.</p> - </div> </td> - </tr> - </tbody> - </table> + <p><code>ObjectUpdatedEvent.Default</code> is the implementation that is used by default, but this can be overridden using <a href="../rgant/rgant.html#_rgant_DomainObject_updatedLifecycleEvent"><code>@DomainObject#updatedLifecycleEvent()</code></a>.</p> </div> </div> <div class="sect3"> @@ -4935,23 +4663,10 @@ table.CodeRay td.code>pre{padding:0} </ul> </div> <div class="paragraph"> - <p>Subclass of <a href="../rgcms/rgcms.html#_rgcms_classes_lifecycleevent_AbstractLifecycleEvent"><code>AbstractLifecycleEvent</code></a>, broadcast when an object is about to be updated in the database. This is done either explicitly when the current transaction is flushed using the <a href="../rgsvc/rgsvc.html#_rgsvc_core-domain-api_DomainObjectContainer_object-persistence-api"><code>DomainObjectContainer</code></a>'s <code>#flush(â¦â)</code> method, else is done implicitly when the transaction commits at the end of the user request.</p> + <p>Subclass of <a href="../rgcms/rgcms.html#_rgcms_classes_lifecycleevent_AbstractLifecycleEvent"><code>AbstractLifecycleEvent</code></a>, broadcast when an object is about to be updated in the database. This is done either explicitly when the current transaction is flushed using the <a href="../rgsvc/rgsvc.html#_rgsvc_core-domain-api_RepositoryService"><code>RepositoryService</code></a>'s <code>#flush(â¦â)</code> method, else is done implicitly when the transaction commits at the end of the user request.</p> </div> <div class="paragraph"> - <p><code>ObjectUpdatingEvent.Default</code> is the concrete implementation that is used.</p> - </div> - <div class="admonitionblock note"> - <table> - <tbody> - <tr> - <td class="icon"> <i class="fa icon-note" title="Note"></i> </td> - <td class="content"> - <div class="paragraph"> - <p>In the future this may be generalized to allow arbitrary subclasses to be broadcast, see ISIS-803.</p> - </div> </td> - </tr> - </tbody> - </table> + <p><code>ObjectUpdatingEvent.Default</code> is the implementation that is used by default, but this can be overridden using <a href="../rgant/rgant.html#_rgant_DomainObject_updatingLifecycleEvent"><code>@DomainObject#updatingLifecycleEvent()</code></a>.</p> </div> </div> </div> @@ -5743,7 +5458,7 @@ table.CodeRay td.code>pre{padding:0} </table> </div> <div class="paragraph"> - <p>Modules in the (non-ASF) <a href="http://platform.incode.org" target="_blank">Incode Platform</a> that either have domain entity that implement and/or services that contribute this interface are:</p> + <p>Modules in the (non-ASF) <a href="http://platform.incode.org" target="_blank">Incode Platform</a> that have domain entity/ies that implement this interface, and/or services that contribute this interface are:</p> </div> <div class="ulist"> <ul>