You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by bu...@apache.org on 2013/09/12 10:36:10 UTC

svn commit: r878123 - in /websites/staging/isis/trunk: cgi-bin/ content/ content/applib-guide/how-tos/ content/applib-guide/reference/

Author: buildbot
Date: Thu Sep 12 08:36:09 2013
New Revision: 878123

Log:
Staging update by buildbot for isis

Modified:
    websites/staging/isis/trunk/cgi-bin/   (props changed)
    websites/staging/isis/trunk/content/   (props changed)
    websites/staging/isis/trunk/content/applib-guide/how-tos/how-to-01-160-How-to-create-or-delete-objects-within-your-code.html
    websites/staging/isis/trunk/content/applib-guide/how-tos/how-to-03-020-How-to-specify-a-set-of-choices-for-an-action-parameter.html
    websites/staging/isis/trunk/content/applib-guide/reference/DomainObjectContainer.html
    websites/staging/isis/trunk/content/applib-guide/reference/Recognized-Methods-and-Prefixes.html

Propchange: websites/staging/isis/trunk/cgi-bin/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Thu Sep 12 08:36:09 2013
@@ -1 +1 @@
-1522474
+1522483

Propchange: websites/staging/isis/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Thu Sep 12 08:36:09 2013
@@ -1 +1 @@
-1522474
+1522483

Modified: websites/staging/isis/trunk/content/applib-guide/how-tos/how-to-01-160-How-to-create-or-delete-objects-within-your-code.html
==============================================================================
--- websites/staging/isis/trunk/content/applib-guide/how-tos/how-to-01-160-How-to-create-or-delete-objects-within-your-code.html (original)
+++ websites/staging/isis/trunk/content/applib-guide/how-tos/how-to-01-160-How-to-create-or-delete-objects-within-your-code.html Thu Sep 12 08:36:09 2013
@@ -259,49 +259,46 @@ important that the framework is made awa
 object - in order that it may be persisted to the object store, and in
 order that any services that the new object needs are injected into it.</p>
 
-<p>Just specifying <code>new
-        Customer()</code>, for example, will create a Customer object, but
-that object will <em>not</em> be known to the framework. However, since we do
-not want to tie our domain objects to a particular framework, we use the
+<p>Just specifying <code>new Customer()</code>, for example, will create a <code>Customer</code> object, but that object will <em>not</em> be known to the framework.  Such an object <em>can</em> (as of <code>1.3.0-SNAPSHOT</code>) be persisted by the framework.  However any services will not be injected into the object until such time.  Also, the <a href="how-to-03-017-How-to-specify-default-value-of-an-object-property.html">default value for any properties</a> will not be setup, nor will the <a href="how-to-07-070-How-to-hook-into-the-object-lifecycle-using-callbacks.html">created callback</a> be called.</p>
+
+<p>Therefore, the recommended way to instantiate an object (and mandatory prior to <code>1.3.0-SNAPSHOT</code>) is to do so through the framework.  However, since we do
+not want to couple our domain objects too closely to Isis, we use the
 idea of a 'container' to mediate, specified by the
-<code>org.apache.isis.applib.DomainObjectContainer</code> interface. See ? for the
-full list of methods provided by DomainObjectContainer.</p>
+<code>org.apache.isis.applib.DomainObjectContainer</code> interface. The
+full list of methods provided by <code>DomainObjectContainer</code> can be found <a href="../reference/DomainObjectContainer.html">here</a>.</p>
 
 <p>This interface defines the following methods for managing domain
 objects:</p>
 
 <ul>
-<li><code>&lt;T&gt; T
-            newTransientInstance(final Class&lt;T&gt;
-            ofClass)</code></p>
+<li><code>&lt;T&gt; T newTransientInstance(final Class&lt;T&gt; ofClass)</code></p>
 
 <p>Returns a new instance of the specified class, that is transient
 (unsaved). The object may subsequently be saved either by the user
 invoking the Save action (that will automatically be rendered on the
 object view) or programmatically by calling <code>persist(Object
             transientObject)</code></li>
-<li>\<T\> T newPersistentInstance(final Class\<T\> ofClass)</p>
+<li><code>&lt;T&gt; T newPersistentInstance(final Class&lt;T&gt; ofClass)</code></p>
 
 <p>Creates a new object already persisted.</li>
-<li>boolean isPersistent()</p>
+<li><code>boolean isPersistent()</code></p>
 
 <p>Checks whether an object has already been persisted. This is often
 useful in controlling visibility or availability of properties or
 actions.</li>
-<li>void persist(Object transientObject)</p>
+<li><code>void persist(Object transientObject)</code></p>
 
-<p>Persists a transient object (created using
-newTransientInstance(...), see above).</li>
-<li>void persistIfNotAlready(Object domainObject)</p>
+<p>Persists a transient object (created using <code>newTransientInstance(...)</code>, see above).</li>
+<li><code>void persistIfNotAlready(Object domainObject)</code></p>
 
 <p>It is an error to persist an object if it is already persistent;
 this method will persist only if the object is not already
 persistent (otherwise it will do nothing).</li>
-<li>void remove(Object persistentObject)</p>
+<li><code>void remove(Object persistentObject)</code></p>
 
 <p>Removes (deletes) from the object store, making the reference
 transient.</li>
-<li>void removeIfNotAlready(Object domainObject)</p>
+<li><code>void removeIfNotAlready(Object domainObject)</code></p>
 
 <p>It is an error to remove an object if it is not persistent; this
 method will remove only if the object is known to be persistent
@@ -309,7 +306,7 @@ method will remove only if the object is
 </ul>
 
 <p>A domain object specifies that it needs to have a reference to the
-DomainObjectContainer injected into by including the following code:</p>
+<code>DomainObjectContainer</code> injected into by including the following code:</p>
 
 <pre><code>private DomainObjectContainer container;
 protected DomainObjectContainer getContainer() {
@@ -321,7 +318,11 @@ public final void setContainer(final Dom
 </code></pre>
 
 <p>Creating or deleting objects is then done by invoking those methods on
-the container. For example the following code would then create a new
+the container. </p>
+
+<h3>Examples</h3>
+
+<p>The following code would then create a new
 Customer object within another method:</p>
 
 <pre><code>Customer newCust = getContainer().newTransientInstance(Customer.class);
@@ -339,16 +340,15 @@ persist(newCust);
 </code></pre>
 
 <p>As an alternative to putting the creation logic within your domain
-objects, you could alternatively delegate to an injected factory (see
-?). Ultimately factories just delegate back to DomainObjectContainer in
+objects, you could alternatively delegate to an injected service. Ultimately factories just delegate back to <code>DomainObjectContainer</code> in
 the same way, so from a technical standpoint there is little difference.
 However it is generally worth introducing a factory because it provides
 a place to centralize any business logic. It also affords the
-opportunity to introduce a domain term (eg ProductCatalog or
-StudentRegister), thereby reinforcing the "ubiquitous language".</p>
+opportunity to introduce a domain term (eg <code>ProductCatalog</code> or
+<code>StudentRegister</code>), thereby reinforcing the "ubiquitous language".</p>
 
 <p>These methods are actually provided by the
-org.apache.isis.applib.AbstractContainedObject and so are also available
+<code>org.apache.isis.applib.AbstractContainedObject</code> and so are also available
 on <code>org.apache.isis.applib.AbstractService</code> (and, hence, on
 <code>org.apache.isis.applib.AbstractFactoryAndRepository</code>) for creating
 objects within a service.</p>
@@ -367,7 +367,7 @@ objects within a service.</p>
   state.</p>
   
   <p>The recommended approach is, if possible, to mark these supplementary
-  classes as not persistable by the user (see ?), or not to permit the
+  classes as not persistable by the user, or not to permit the
   user to create a new transient object that is a child of an existing
   transient object, but, rather, to require the user to save the parent
   object first.</p>

Modified: websites/staging/isis/trunk/content/applib-guide/how-tos/how-to-03-020-How-to-specify-a-set-of-choices-for-an-action-parameter.html
==============================================================================
--- websites/staging/isis/trunk/content/applib-guide/how-tos/how-to-03-020-How-to-specify-a-set-of-choices-for-an-action-parameter.html (original)
+++ websites/staging/isis/trunk/content/applib-guide/how-tos/how-to-03-020-How-to-specify-a-set-of-choices-for-an-action-parameter.html Thu Sep 12 08:36:09 2013
@@ -265,6 +265,10 @@ will automatically be offered the full s
 <p>If this isn't the case, then - as for defaults - there are two different
 ways to specify parameters; either per parameter, or for all parameters.</p>
 
+<blockquote>
+  <p><strong>Note</strong> Dependent choices, whereby the values are dependent on another action parameter, are <a href="how-to-03-022-How-to-specify-dependent-choices-for-action-parameters.html">also supported</a>.</p>
+</blockquote>
+
 <h3>Per parameter syntax (preferred)</h3>
 
 <p>The per-parameter form is simpler and generally preferred.</p>

Modified: websites/staging/isis/trunk/content/applib-guide/reference/DomainObjectContainer.html
==============================================================================
--- websites/staging/isis/trunk/content/applib-guide/reference/DomainObjectContainer.html (original)
+++ websites/staging/isis/trunk/content/applib-guide/reference/DomainObjectContainer.html Thu Sep 12 08:36:09 2013
@@ -263,7 +263,9 @@
 from domain objects into the <em>Isis</em> framework. It can also be used as a
 lightweight general purpose repository during prototyping.</p>
 
-<table>
+<p>The following table lists the most important (ie non deprecated) methods in this interface.</p>
+
+<p><table>
 <tr>
     <th>Category</th>
     <th>Method</th>
@@ -271,17 +273,13 @@ lightweight general purpose repository d
 </tr>
 <tr>
     <td>Object creation</td>
-    <td>newTransientInstance(Class\<T\>)</td>
-    <td>Creates new non-persisted object</td>
-</tr>
-<tr>
-    <td></td>
-    <td>newPersistentInstance(Class\<T\>)</td>
-    <td>Creates new object, will be persisted at end of action</td>
+    <td>newTransientInstance(Class&lt;T>)</td>
+    <td>Creates new non-persisted object. <br />
+        <p>While it is also possible to simply <i>new()</i> up an object, that object will not have any services injected into it, nor will any properties be defaulted nor will any <a href="../how-tos/how-to-07-070-How-to-hook-into-the-object-lifecycle-using-callbacks.html"><i>created()</i></a> callback be invoked.</td>
 </tr>
 <tr>
     <td></td>
-    <td>newInstance(Class\<T\>, Object)</td>
+    <td>newInstance(Class&lt;T>, Object)</td>
     <td>Creates object in state persistence state as that provided</td>
 </tr>
 <tr>
@@ -296,7 +294,7 @@ lightweight general purpose repository d
 </tr>
 <tr>
     <td>Generic Repository</td>
-    <td>allInstances(Class\<T\>)</td>
+    <td>allInstances(Class&lt;T>)</td>
     <td>All persisted instances of specified type</td>
 </tr>
 <tr>
@@ -390,7 +388,7 @@ lightweight general purpose repository d
     <td>All configuration properties available</td>
 </tr>
 <tr>
-    <td>Lazy loading, dirty object tracking (\*)</td>
+    <td>Lazy loading, dirty object tracking (*)</td>
     <td>resolve(Object)</td>
     <td>Lazy load object (overloaded to optionally load a property of object)</td>
 </tr>
@@ -400,7 +398,7 @@ lightweight general purpose repository d
     <td>Mark object as dirty</td>
 </tr>
 <tr>
-    <td>Object store control (\*\*)</td>
+    <td>Object store control (**)</td>
     <td>flush()</td>
     <td>Flush all pending changes to object store</td>
 </tr>
@@ -409,7 +407,7 @@ lightweight general purpose repository d
     <td>commit()</td>
     <td>Commit all pending changes to object store</td>
 </tr>
-</table>
+</table></p>
 
 <blockquote>
   <p><strong>Note</strong></p>

Modified: websites/staging/isis/trunk/content/applib-guide/reference/Recognized-Methods-and-Prefixes.html
==============================================================================
--- websites/staging/isis/trunk/content/applib-guide/reference/Recognized-Methods-and-Prefixes.html (original)
+++ websites/staging/isis/trunk/content/applib-guide/reference/Recognized-Methods-and-Prefixes.html Thu Sep 12 08:36:09 2013
@@ -257,7 +257,7 @@
 <p>The following table lists all of the methods or method prefixes that are
 recognized by <em>Apache Isis</em>' default programming model:</p>
 
-<table>
+<p><table>
 <tr>
     <th>Prefix</th>
     <th>Object</th>
@@ -265,7 +265,7 @@ recognized by <em>Apache Isis</em>' defa
     <th>Collection</th>
     <th>Action</th>
     <th>Action Param</th>
-    <th>See also</th>
+    <th>Description</th>
 </tr>
 <tr>
     <td>addTo</td>
@@ -274,7 +274,7 @@ recognized by <em>Apache Isis</em>' defa
     <td>Y</td>
     <td></td>
     <td></td>
-    <td></td>
+    <td>add object to a collection (nb: not currently supported by Wicket viewer)<p>See also <tt>removeFrom</tt></td>
 </tr>
 <tr>
     <td>removeFrom</td>
@@ -283,7 +283,7 @@ recognized by <em>Apache Isis</em>' defa
     <td>Y</td>
     <td></td>
     <td></td>
-    <td></td>
+    <td>remove object from a collection (nb: not currently supported by Wicket viewer)<p>See also <tt>addTo</tt></td>
 </tr>
 <tr>
     <td>choices</td>
@@ -292,16 +292,16 @@ recognized by <em>Apache Isis</em>' defa
     <td></td>
     <td></td>
     <td>Y</td>
-    <td></td>
+    <td>Provide list of choices for a <a href="../how-tos/how-to-03-010-How-to-specify-a-set-of-choices-for-a-property.html">property</a> or <a href="../how-tos/how-to-03-020-How-to-specify-a-set-of-choices-for-an-action-parameter.html">action</a> <a href="../how-tos/how-to-03-022-How-to-specify-dependent-choices-for-action-parameters.html">parameter</a><p>See also <tt>autoComplete</tt>.</td>
 </tr>
 <tr>
-    <td>autoComplete<br/>[1.3.0-SNAPSHOT]</td>
+    <td>autoComplete<p/>[1.3.0-SNAPSHOT]</td>
     <td></td>
     <td>Y</td>
     <td></td>
     <td></td>
     <td>Y</td>
-    <td><a href="../recognized-annotations/AutoComplete.html">@AutoComplete </a> annotation</td>
+    <td>Return a list of matching elements for a <a href="../how-tos/how-to-03-015-How-to-specify-an-autocomplete-for-a-property.html">property</a> or an <a href="../how-tos/how-to-03-025-How-to-specify-an-autocomplete-for-an-action-parameter.html">action parameter</a>.  <p>Alternatively, can specify for a class using the <a href="../recognized-annotations/AutoComplete.html">@AutoComplete </a> annotation.<p>See also <tt>choices</tt></td>
 </tr>
 <tr>
     <td>clear</td>
@@ -310,7 +310,7 @@ recognized by <em>Apache Isis</em>' defa
     <td></td>
     <td></td>
     <td></td>
-    <td></td>
+    <td>Clear a property (set it to null).  Allows business logic to be placed apart from the setter.<p>See also <tt>modify</tt></td>
 </tr>
 <tr>
     <td>modify</td>
@@ -319,7 +319,7 @@ recognized by <em>Apache Isis</em>' defa
     <td></td>
     <td></td>
     <td></td>
-    <td></td>
+    <td>Modify a property (set it to a non-null) value.  Allows business logic to be placed apart from the setter.<p>See also <tt>clear</tt>.</td>
 </tr>
 <tr>
     <td>created</td>
@@ -328,7 +328,7 @@ recognized by <em>Apache Isis</em>' defa
     <td></td>
     <td></td>
     <td></td>
-    <td></td>
+    <td>Lifecycle callback for when the object has just been <a href="../how-tos/how-to-07-070-How-to-hook-into-the-object-lifecycle-using-callbacks.html">created</a> using <tt>newTransientInstance()</tt></td>
 </tr>
 <tr>
     <td>default</td>
@@ -337,7 +337,7 @@ recognized by <em>Apache Isis</em>' defa
     <td></td>
     <td></td>
     <td>Y</td>
-    <td></td>
+    <td>Default value for a <a href="../how-tos/how-to-03-017-How-to-specify-default-value-of-an-object-property.html">property</a> or an <a href="../how-tos/how-to-03-050-How-to-specify-default-values-for-an-action-parameter.html">action parameter</a>.</td>
 </tr>
 <tr>
     <td>disable</td>
@@ -346,7 +346,7 @@ recognized by <em>Apache Isis</em>' defa
     <td>Y</td>
     <td>Y</td>
     <td></td>
-    <td></td>
+    <td>Disables (makes read-only) a <a href="../how-tos/how-to-02-050-How-to-prevent-a-property-from-being-modified.html">property</a>, a <a href="../how-tos/how-to-02-060-How-to-prevent-a-collection-from-being-modified.html">collection</a> or an <a href="../how-tos/how-to-02-070-How-to-prevent-an-action-from-being-invoked.html">action</a>.</td>
 </tr>
 <tr>
     <td>get</td>
@@ -355,7 +355,7 @@ recognized by <em>Apache Isis</em>' defa
     <td>Y</td>
     <td></td>
     <td></td>
-    <td>set</td>
+    <td>Access the value of a property or collection.<p>See also <tt>set</tt>.</td>
 </tr>
 <tr>
     <td>getId</td>
@@ -364,7 +364,7 @@ recognized by <em>Apache Isis</em>' defa
     <td></td>
     <td></td>
     <td></td>
-    <td>(services only)</td>
+    <td>Provides an optional unique identifier of a service.<p>If not provided, the services fully-qualified class name is used.</td>
 </tr>
 <tr>
     <td>hide</td>
@@ -373,7 +373,7 @@ recognized by <em>Apache Isis</em>' defa
     <td>Y</td>
     <td>Y</td>
     <td></td>
-    <td></td>
+    <td>Hides a <a href="../how-tos/how-to-02-010-How-to-hide-a-property.html">property</a>, a <a href="../how-tos/how-to-02-020-How-to-hide-a-collection.html">collection</a> or an <a href="../how-tos/how-to-02-030-How-to-hide-an-action.html">action</a>.</td>
 </tr>
 <tr>
     <td>iconName</td>
@@ -382,7 +382,7 @@ recognized by <em>Apache Isis</em>' defa
     <td></td>
     <td></td>
     <td></td>
-    <td></td>
+    <td>Provides the name of the image to render, usually alongside the title, to represent the object.  If not provided, then the class name is used to locate an image.<p>See also <tt>title</tt></td>
 </tr>
 <tr>
     <td>loaded</td>
@@ -391,7 +391,7 @@ recognized by <em>Apache Isis</em>' defa
     <td></td>
     <td></td>
     <td></td>
-    <td></td>
+    <td>Lifecycle callback for when the (persistent) object has just been <a href="../how-tos/how-to-07-070-How-to-hook-into-the-object-lifecycle-using-callbacks.html">loaded</a> from the object store.<p>NB: this may not called by the JDO ObjectStore.</td>
 </tr>
 <tr>
     <td>loading</td>
@@ -400,16 +400,7 @@ recognized by <em>Apache Isis</em>' defa
     <td></td>
     <td></td>
     <td></td>
-    <td></td>
-</tr>
-<tr>
-    <td>modify</td>
-    <td></td>
-    <td>Y</td>
-    <td></td>
-    <td></td>
-    <td></td>
-    <td>clear</td>
+    <td>Lifecycle callback for when the (persistent) object is just about to be <a href="../how-tos/how-to-07-070-How-to-hook-into-the-object-lifecycle-using-callbacks.html">loaded</a> from the object store.<p>NB: this may not called by the JDO ObjectStore.</td>
 </tr>
 <tr>
     <td>persisted</td>
@@ -418,7 +409,7 @@ recognized by <em>Apache Isis</em>' defa
     <td></td>
     <td></td>
     <td></td>
-    <td></td>
+    <td>Lifecycle callback for when the (persistent) object has just been <a href="../how-tos/how-to-07-070-How-to-hook-into-the-object-lifecycle-using-callbacks.html">persisted</a> from the object store.<p>NB: this may not called by the JDO ObjectStore</td>
 </tr>
 <tr>
     <td>persisting</td>
@@ -427,7 +418,7 @@ recognized by <em>Apache Isis</em>' defa
     <td></td>
     <td></td>
     <td></td>
-    <td></td>
+    <td>Lifecycle callback for when the (persistent) object is just about to be <a href="../how-tos/how-to-07-070-How-to-hook-into-the-object-lifecycle-using-callbacks.html">persisted</a> from the object store<p>NB: this may not called by the JDO ObjectStore in all situations</td>
 </tr>
 <tr>
     <td>removing</td>
@@ -436,7 +427,7 @@ recognized by <em>Apache Isis</em>' defa
     <td></td>
     <td></td>
     <td></td>
-    <td></td>
+    <td>Lifecycle callback for when the (persistent) object is just about to be <a href="../how-tos/how-to-07-070-How-to-hook-into-the-object-lifecycle-using-callbacks.html">deleted</a> from the object store<p>NB: this may not called by the JDO ObjectStore in all situations</td>
 </tr>
 <tr>
     <td>removed</td>
@@ -445,16 +436,7 @@ recognized by <em>Apache Isis</em>' defa
     <td></td>
     <td></td>
     <td></td>
-    <td></td>
-</tr>
-<tr>
-    <td>removeFrom</td>
-    <td></td>
-    <td>Y</td>
-    <td></td>
-    <td></td>
-    <td></td>
-    <td>addTo</td>
+    <td>Lifecycle callback for when the (persistent) object has just been <a href="../how-tos/how-to-07-070-How-to-hook-into-the-object-lifecycle-using-callbacks.html">persisted</a> from the object store<p>NB: this may not called by the JDO ObjectStore in all situations</td>
 </tr>
 <tr>
     <td>set</td>
@@ -463,7 +445,7 @@ recognized by <em>Apache Isis</em>' defa
     <td>Y</td>
     <td></td>
     <td></td>
-    <td>get</td>
+    <td>Sets the value of a propery or a collection.</td>
 </tr>
 <tr>
     <td>toString</td>
@@ -472,7 +454,7 @@ recognized by <em>Apache Isis</em>' defa
     <td></td>
     <td></td>
     <td></td>
-    <td></td>
+    <td>Used as the fallback title for an object if there is <a href="../how-tos/how-to-01-040-How-to-specify-a-title-for-a-domain-entity.html">no <tt>title()</tt> method</a> or properties annotated with <a href="../recognized-annotations/Title.html"><tt>@Title</tt></a></td>
 </tr>
 <tr>
     <td>title</td>
@@ -481,7 +463,7 @@ recognized by <em>Apache Isis</em>' defa
     <td></td>
     <td></td>
     <td></td>
-    <td><a href="../recognized-annotations/Title.html">@Title </a> annotation</td>
+    <td>Provides a title for the object. <p>Alternatively, use the <a href="../recognized-annotations/Title.html">@Title </a> annotation.</td>
 </tr>
 <tr>
     <td>updating</td>
@@ -490,7 +472,7 @@ recognized by <em>Apache Isis</em>' defa
     <td></td>
     <td></td>
     <td></td>
-    <td></td>
+    <td>Lifecycle callback for when the (persistent) object is just about to be <a href="../how-tos/how-to-07-070-How-to-hook-into-the-object-lifecycle-using-callbacks.html">updated</a> in the object store<p>NB: this may not called by the JDO ObjectStore in all situations</td>
 </tr>
 <tr>
     <td>updated</td>
@@ -499,7 +481,7 @@ recognized by <em>Apache Isis</em>' defa
     <td></td>
     <td></td>
     <td></td>
-    <td></td>
+    <td>Lifecycle callback for when the (persistent) object has just been <a href="../how-tos/how-to-07-070-How-to-hook-into-the-object-lifecycle-using-callbacks.html">updated</a> in the object store<p>NB: this may not called by the JDO ObjectStore in all situations</td>
 </tr>
 <tr>
     <td>validate</td>
@@ -508,7 +490,7 @@ recognized by <em>Apache Isis</em>' defa
     <td></td>
     <td>Y</td>
     <td>Y</td>
-    <td></td>
+    <td>Check that a proposed value of a <a href="../how-tos/how-to-02-100-How-to-validate-user-input-for-a-property.html>property</a> or an <a href="../how-tos/how-to-02-120-How-to-validate-an-action-parameter-argument.html>action parameter> is valid.<p>See also <tt>validateAddTo</tt> and <tt>validateRemoveFrom</tt> for collections.</td>
 </tr>
 <tr>
     <td>validateAddTo</td>
@@ -517,7 +499,7 @@ recognized by <em>Apache Isis</em>' defa
     <td></td>
     <td></td>
     <td></td>
-    <td>validateRemoveFrom</td>
+    <td>Check that a proposed object to add to a <a href="../how-tos/how-to-02-110-How-to-validate-an-object-being-added-or-removed-from-a-collection.html">collection</a> is valid.<p>See also <tt>validateRemoveFrom</tt>, and <tt>validate</tt> for properties and collections.</td>
 </tr>
 <tr>
     <td>validateRemoveFrom</td>
@@ -526,11 +508,11 @@ recognized by <em>Apache Isis</em>' defa
     <td></td>
     <td></td>
     <td></td>
-    <td>validateAddTo</td>
+    <td>Check that a proposed object to add to a <a href="../how-tos/how-to-02-110-How-to-validate-an-object-being-added-or-removed-from-a-collection.html">collection</a> is valid.<p>See also <tt>validateAddTo</tt>, and <tt>validate</tt> for properties and collections.</td>
 </tr>
-</table>
+</table></p>
 
-<p>There are also a number of deprecated methods:</p>
+<p>There are also a number of deprecated methods (for lifecycle callbacks):</p>
 
 <table>
 <tr>
@@ -549,7 +531,7 @@ recognized by <em>Apache Isis</em>' defa
     <td></td>
     <td></td>
     <td></td>
-    <td>removed</td>
+    <td>Replaced by <tt>removed</tt></td>
 </tr>
 <tr>
     <td>deleting</td>
@@ -558,7 +540,7 @@ recognized by <em>Apache Isis</em>' defa
     <td></td>
     <td></td>
     <td></td>
-    <td>removing</td>
+    <td>Replaced by <tt>removing</tt></td>
 </tr>
 <tr>
     <td>saved</td>
@@ -567,7 +549,7 @@ recognized by <em>Apache Isis</em>' defa
     <td></td>
     <td></td>
     <td></td>
-    <td>persisted</td>
+    <td>Replaced by <tt>persisted</tt></td>
 </tr>
 <tr>
     <td>saving</td>
@@ -576,7 +558,7 @@ recognized by <em>Apache Isis</em>' defa
     <td></td>
     <td></td>
     <td></td>
-    <td>persisting</td>
+    <td>Replaced by <tt>persisting</tt></td>
 </tr>
 </table>