Author: desruisseaux
Date: Wed Mar  4 12:42:13 2015
New Revision: 1663971

URL: http://svn.apache.org/r1663971
Log:
Javadoc updates and changed some method declaration order for keeping related 
methods closer.
No significant code change in this commit.

Modified:
    
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/ImmutableIdentifier.java
    
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/parameter/ParameterBuilder.java
    
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/parameter/Parameters.java
    
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/Builder.java

Modified: 
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/ImmutableIdentifier.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/ImmutableIdentifier.java?rev=1663971&r1=1663970&r2=1663971&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/ImmutableIdentifier.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/ImmutableIdentifier.java
 [UTF-8] Wed Mar  4 12:42:13 2015
@@ -426,6 +426,7 @@ public class ImmutableIdentifier extends
 
     /**
      * Name or identifier of the person or organization responsible for 
namespace.
+     * This is often the {@linkplain #getAuthority() authority}'s 
abbreviation, but not necessarily.
      *
      * <div class="note"><b>Example:</b> {@code "EPSG"}.</div>
      *
@@ -440,8 +441,9 @@ public class ImmutableIdentifier extends
     }
 
     /**
-     * Organization or party responsible for definition and maintenance of the
-     * {@linkplain #getCode() code}.
+     * Organization or party responsible for definition and maintenance of the 
{@linkplain #getCode() code}.
+     * The organization's abbreviation is often the same than this identifier 
{@linkplain #getCodeSpace()
+     * code space}, but not necessarily.
      *
      * <div class="note"><b>Example:</b> Coordinate Reference System (CRS) 
identified by an EPSG code will return
      * {@link Citations#OGP}, since OGP is the organization maintaining the 
EPSG geodetic database.</div>
@@ -454,10 +456,9 @@ public class ImmutableIdentifier extends
     }
 
     /**
-     * Identifier of the version of the associated code space or code, as 
specified by the
-     * code authority. This version is included only when the {@linkplain 
#getCode() code}
-     * uses versions. When appropriate, the edition is identified by the 
effective date,
-     * coded using ISO 8601 date format.
+     * Identifier of the version of the associated code space or code, as 
specified by the code authority.
+     * This version is included only when the {@linkplain #getCode() code}uses 
versions. When appropriate,
+     * the edition is identified by the effective date, coded using ISO 8601 
date format.
      *
      * <div class="note"><b>Example:</b> the version of the underlying EPSG 
database.</div>
      *

Modified: 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/parameter/ParameterBuilder.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/parameter/ParameterBuilder.java?rev=1663971&r1=1663970&r2=1663971&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/parameter/ParameterBuilder.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/parameter/ParameterBuilder.java
 [UTF-8] Wed Mar  4 12:42:13 2015
@@ -35,19 +35,25 @@ import static org.apache.sis.util.Argume
  * {@link ParameterDescriptor#createValue()} on the descriptor provided by the 
implementor.
  *
  * {@section Identification properties}
- * Each parameter must have a name, which can be specified by any of the 
{@code addName(…)} methods.
- * Parameters can optionally have an arbitrary amount of aliases, which are 
also specified by the
- * {@code addName(…)} methods — each call after the first one adds an alias.
- *
- * <p>Parameters can also have an arbitrary amount of identifiers, which are 
specified by the
- * {@code addIdentifier(…)} methods. Like names, more than one identifier can 
be added by invoking
- * the method many time.</p>
+ * The following properties are cleared after a call to any {@code 
createXXX(…)} method,
+ * since those properties are specific to the each parameter. Other properties 
like codespace,
+ * version and cardinality are left unchanged because they may be shared by 
many parameters.
  *
- * <p>Parameters can have at most one remark, which is specified by the {@code 
setRemarks(…)} method.</p>
+ * <table class="compact" style="margin-left: 18 px" summary="Parameter 
properties.">
+ *   <tr><td><b>{@linkplain DefaultParameterDescriptor#getName() 
Names}:</b></td>
+ *   <td>Each parameter must have a name, which can be specified by any of the 
{@link #addName(CharSequence)
+ *   addName(…)} methods. Parameters can optionally have an arbitrary amount 
of aliases, which are also specified
+ *   by the {@code addName(…)} methods. Each call after the first one adds an 
alias.</td></tr>
+ *
+ *   <tr><td><b>{@linkplain DefaultParameterDescriptor#getIdentifiers() 
Identifiers}:</b></td>
+ *   <td>Parameters can also have an arbitrary amount of identifiers, which 
are specified by any of the
+ *   {@link #addIdentifier(String) addIdentifier(…)} methods. Like names, more 
than one identifier can be
+ *   added by invoking the method many time.</td></tr>
+ *
+ *   <tr><td><b>{@linkplain DefaultParameterDescriptor#getRemarks() 
Remarks}:</b></td>
+ *   <td>Parameters can have at most one remark, which is specified by the 
{@code setRemarks(…)} method.</td></tr>
+ * </table>
  *
- * <p>All the above-cited properties are cleared after a call to any {@code 
createXXX(…)} method,
- * since those properties are specific to the each parameter. Other properties 
like codespace,
- * version and cardinality are left unchanged because they may be shared by 
many parameters.</p>
  *
  * {@section Usage example}
  * Parameter descriptors are typically grouped in a {@link 
ParameterDescriptorGroup}.
@@ -59,7 +65,9 @@ import static org.apache.sis.util.Argume
  *
  * {@preformat java
  *   ParameterBuilder builder = new ParameterBuilder();
- *   builder.setCodeSpace(Citations.OGP, "EPSG").setRequired(true);
+ *   builder.setCodeSpace(Citations.OGP, "EPSG")
+ *          .setRequired(true);
+ *
  *   ParameterDescriptor<?>[] parameters = {
  *       builder.addName("Latitude of natural origin")    .createBounded( -80, 
 +84, 0, NonSI.DEGREE_ANGLE),
  *       builder.addName("Longitude of natural origin")   .createBounded(-180, 
+180, 0, NonSI.DEGREE_ANGLE),

Modified: 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/parameter/Parameters.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/parameter/Parameters.java?rev=1663971&r1=1663970&r2=1663971&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/parameter/Parameters.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/parameter/Parameters.java
 [UTF-8] Wed Mar  4 12:42:13 2015
@@ -51,40 +51,59 @@ import static org.apache.sis.referencing
  *   <li>{@link #copy(ParameterValueGroup, ParameterValueGroup)} for copying 
values into an existing instance.</li>
  * </ul>
  *
- * {@section Finding a parameter despite different names}
+ *
+ * {@section Fetching parameter values despite different names, types or units}
+ * The common way to get a parameter is to invoke the {@link 
#parameter(String)} method.
+ * This {@code Parameters} class provides an alternative way, using a {@link 
ParameterDescriptor} argument
+ * instead than a {@code String}. The methods in this class use the additional 
information provided by the
+ * descriptor for choosing a {@code String} argument that the above-cited 
{@code parameter(String)} method
+ * is more likely to know (by giving preference to a {@linkplain 
DefaultParameterDescriptor#getName() name}
+ * or {@linkplain DefaultParameterDescriptor#getAlias() alias} defined by a 
common
+ * {@linkplain org.apache.sis.metadata.iso.ImmutableIdentifier#getAuthority() 
authority}),
+ * and for applying type and unit conversions.
+ *
+ * <div class="note"><b>Example:</b>
  * The same parameter may be known under different names. For example the
- * {@linkplain 
org.apache.sis.referencing.datum.DefaultEllipsoid#getSemiMajorAxis() length of 
the semi-major axis of the
- * ellipsoid} is commonly known as {@code "semi_major"}. But that parameter 
can also be named {@code "semi_major_axis"}
- * or {@code "earth_radius"} in NetCDF files, or simply {@code "a"} in the 
Proj.4 library.
+ * {@linkplain 
org.apache.sis.referencing.datum.DefaultEllipsoid#getSemiMajorAxis()
+ * length of the semi-major axis of the ellipsoid} is commonly known as {@code 
"semi_major"}.
+ * But that parameter can also be named {@code "semi_major_axis"}, {@code 
"earth_radius"} or simply {@code "a"}
+ * in other libraries. When fetching parameter values, we do not always know 
in advance which of the above-cited
+ * names is recognized by an arbitrary {@code ParameterValueGroup} 
implementation.
+ *
+ * <p>This uncertainty is mitigated with the Apache SIS implementation since
+ * {@link DefaultParameterValueGroup#parameter(String)} compares the given 
{@code String} argument
+ * against all parameter's {@linkplain DefaultParameterDescriptor#getAlias() 
aliases} in addition
+ * to the {@linkplain DefaultParameterDescriptor#getName() name}.
+ * However we do not have the guarantee that all implementations do 
that.</p></div>
  *
- * <p>The common way to get a parameter is to invoke the {@link 
#parameter(String)} method.
- * But we do not always know in advance which of the above-cited names is 
recognized by an arbitrary
- * {@code ParameterValueGroup} implementation.</p>
+ * The method names in this class follow the names of methods provided by the 
{@link ParameterValue} interface.
+ * Those methods are themselves inspired by JDK methods:
  *
- * <div class="note"><b>Note:</b>
- * This uncertainty is mitigated with the Apache SIS implementation since it 
compares the given {@code String}
- * argument against all parameter's {@linkplain 
DefaultParameterDescriptor#getAlias() aliases} in addition to
- * the {@linkplain DefaultParameterDescriptor#getName() name}. However we do 
not have the guarantee that all
- * implementations do that.</div>
+ * <table class="sis">
+ *   <caption>Methods fetching parameter value</caption>
+ *   <tr><th>{@code Parameters} method</th>                     <th>{@code 
ParameterValue} method</th>                                     <th>JDK 
methods</th></tr>
+ *   <tr><td>{@link #getValue(ParameterDescriptor)}</td>        <td>{@link 
DefaultParameterValue#getValue()        getValue()}</td>        <td></td></tr>
+ *   <tr><td>{@link #booleanValue(ParameterDescriptor)}</td>    <td>{@link 
DefaultParameterValue#booleanValue()    booleanValue()}</td>    <td>{@link 
Boolean#booleanValue()}</td></tr>
+ *   <tr><td>{@link #intValue(ParameterDescriptor)}</td>        <td>{@link 
DefaultParameterValue#intValue()        intValue()}</td>        <td>{@link 
Number#intValue()}</td></tr>
+ *   <tr><td>{@link #intValueList(ParameterDescriptor)}</td>    <td>{@link 
DefaultParameterValue#intValueList()    intValueList()}</td>    <td></td></tr>
+ *   <tr><td>{@link #doubleValue(ParameterDescriptor)}</td>     <td>{@link 
DefaultParameterValue#doubleValue()     doubleValue()}</td>     <td>{@link 
Number#doubleValue()}</td></tr>
+ *   <tr><td>{@link #doubleValueList(ParameterDescriptor)}</td> <td>{@link 
DefaultParameterValue#doubleValueList() doubleValueList()}</td> <td></td></tr>
+ *   <tr><td>{@link #stringValue(ParameterDescriptor)}</td>     <td>{@link 
DefaultParameterValue#stringValue()     stringValue()}</td>     <td></td></tr>
+ * </table>
  *
- * This {@code Parameters} class provides an alternative way to search for 
parameters,
- * which use a given {@link ParameterDescriptor} argument instead than a 
{@code String}.
- * {@code Parameters} uses the additional information provided by the 
descriptor for
- * choosing a {@code String} argument that {@link #parameter(String)} is more 
likely to know.
- * See for example {@link #getValue(ParameterDescriptor)}.
  *
  * {@section Note for subclass implementors}
  * All methods in this class get their information from the {@link 
ParameterValueGroup} methods.
- * In addition, each method in this class is isolated from all others: 
overriding one of those
- * methods have no impact on other methods.
+ * In addition, each method in this class is isolated from all others: 
overriding one method has
+ * no impact on other methods.
  *
  * <div class="note"><b>Note on this class name:</b>
  * Despite implementing the {@link ParameterValueGroup} interface, this class 
is not named
  * {@code AbstractParameterValueGroup} because it does not implement any 
method from the interface.
  * Extending this class or extending {@link Object} make almost no difference 
for implementors.
- * This {@code Parameters} class intend is rather to extend the API with 
methods that are convenient
- * for the way Apache SIS uses parameters.
- * Consequently this class is intended for users rather than 
implementors.</div>
+ * The intend of this {@code Parameters} class is rather to extend the API 
with methods
+ * that are convenient for the way Apache SIS uses parameters.
+ * In other words, this class is intended for users rather than 
implementors.</div>
  *
  * @author  Martin Desruisseaux (Geomatys)
  * @since   0.4
@@ -103,6 +122,9 @@ public abstract class Parameters impleme
      * If the given parameters is already an instance of {@code Parameters}, 
then it is returned as-is.
      * Otherwise this method returns a wrapper which delegate all method 
invocations to the given instance.
      *
+     * <p>This method provides a way to get access to the non-static {@code 
Parameters} methods, like
+     * {@link #getValue(ParameterDescriptor)}, for an arbitrary {@code 
ParameterValueGroup} instance.</p>
+     *
      * @param  parameters The object to cast or wrap, or {@code null}.
      * @return The given argument as an instance of {@code Parameters} (may be 
the same reference),
      *         or {@code null} if the given argument was null.
@@ -130,6 +152,66 @@ public abstract class Parameters impleme
     }
 
     /**
+     * Casts the given parameter descriptor to the given type.
+     * An exception is thrown immediately if the parameter does not have the 
expected
+     * {@linkplain DefaultParameterDescriptor#getValueClass() value class}.
+     *
+     * @param  <T>        The expected value class.
+     * @param  descriptor The descriptor to cast, or {@code null}.
+     * @param  valueClass The expected value class.
+     * @return The descriptor casted to the given value class, or {@code null} 
if the given descriptor was null.
+     * @throws ClassCastException if the given descriptor does not have the 
expected value class.
+     *
+     * @see Class#cast(Object)
+     *
+     * @category verification
+     */
+    @SuppressWarnings("unchecked")
+    public static <T> ParameterDescriptor<T> cast(final ParameterDescriptor<?> 
descriptor, final Class<T> valueClass)
+            throws ClassCastException
+    {
+        if (descriptor != null) {
+            final Class<?> actual = descriptor.getValueClass();
+            // We require a strict equality - not 
type.isAssignableFrom(actual) - because in
+            // the later case we could have (to be strict) to return a <? 
extends T> type.
+            if (!valueClass.equals(actual)) {
+                throw new 
ClassCastException(Errors.format(Errors.Keys.IllegalParameterType_2,
+                        descriptor.getName().getCode(), actual));
+            }
+        }
+        return (ParameterDescriptor<T>) descriptor;
+    }
+
+    /**
+     * Casts the given parameter value to the given type.
+     * An exception is thrown immediately if the parameter does not have the 
expected value class.
+     *
+     * @param  <T>   The expected value class.
+     * @param  value The value to cast, or {@code null}.
+     * @param  type  The expected value class.
+     * @return The value casted to the given type, or {@code null} if the 
given value was null.
+     * @throws ClassCastException if the given value doesn't have the expected 
value class.
+     *
+     * @see Class#cast(Object)
+     *
+     * @category verification
+     */
+    @SuppressWarnings("unchecked")
+    public static <T> ParameterValue<T> cast(final ParameterValue<?> value, 
final Class<T> type)
+            throws ClassCastException
+    {
+        if (value != null) {
+            final ParameterDescriptor<?> descriptor = value.getDescriptor();
+            final Class<?> actual = descriptor.getValueClass();
+            if (!type.equals(actual)) { // Same comment than 
cast(ParameterDescriptor)...
+                throw new 
ClassCastException(Errors.format(Errors.Keys.IllegalParameterType_2,
+                        descriptor.getName().getCode(), actual));
+            }
+        }
+        return (ParameterValue<T>) value;
+    }
+
+    /**
      * Gets the parameter name as an instance of {@code MemberName}.
      * This method performs the following checks:
      *
@@ -160,9 +242,15 @@ public abstract class Parameters impleme
 
     /**
      * Returns the domain of valid values defined by the given descriptor, or 
{@code null} if none.
-     * This method builds the range from the {@linkplain 
DefaultParameterDescriptor#getMinimumValue() minimum value},
-     * {@linkplain DefaultParameterDescriptor#getMaximumValue() maximum value} 
and, if the values are numeric, from
-     * the {@linkplain DefaultParameterDescriptor#getUnit() unit}.
+     * This method performs the following operations:
+     *
+     * <ul>
+     *   <li>If the given parameter is an instance of {@code 
DefaultParameterDescriptor},
+     *       delegate to {@link 
DefaultParameterDescriptor#getValueDomain()}.</li>
+     *   <li>Otherwise builds the range from the {@linkplain 
DefaultParameterDescriptor#getMinimumValue() minimum value},
+     *       {@linkplain DefaultParameterDescriptor#getMaximumValue() maximum 
value} and, if the values are numeric, from
+     *       the {@linkplain DefaultParameterDescriptor#getUnit() unit}.</li>
+     * </ul>
      *
      * @param  descriptor The parameter descriptor, or {@code null}.
      * @return The domain of valid values, or {@code null} if none.
@@ -281,11 +369,17 @@ public abstract class Parameters impleme
      * <ul>
      *   <li>The most appropriate {@linkplain 
DefaultParameterDescriptor#getName() name} or
      *       {@linkplain DefaultParameterDescriptor#getAlias() alias} to use 
for searching
-     *       in this {@code ParameterValueGroup};</li>
+     *       in this {@code ParameterValueGroup}, chosen as below:
+     *     <ul>
+     *       <li>a name or alias defined by the same
+     *           {@linkplain 
org.apache.sis.metadata.iso.ImmutableIdentifier#getAuthority() authority}, if 
any;</li>
+     *       <li>an arbitrary name or alias otherwise.</li>
+     *     </ul>
+     *   </li>
      *   <li>The {@linkplain DefaultParameterDescriptor#getDefaultValue() 
default value}
-     *       to return if there is no value associated to the above-cited name 
or alias;</li>
+     *       to return if there is no value associated to the above-cited name 
or alias.</li>
      *   <li>The {@linkplain DefaultParameterDescriptor#getUnit() unit of 
measurement}
-     *       (if any) of numerical value to return;</li>
+     *       (if any) of numerical value to return.</li>
      *   <li>The {@linkplain DefaultParameterDescriptor#getValueClass() type} 
of value to return.</li>
      * </ul>
      *
@@ -480,6 +574,16 @@ public abstract class Parameters impleme
      * Returns the parameter identified by the given descriptor.
      * If the identified parameter is optional and not yet created, then it 
will be created now.
      *
+     * <p>The default implementation is equivalent to:</p>
+     *
+     * {@preformat java
+     *     return cast(parameter(name), parameter.getValueClass());
+     * }
+     *
+     * where {@code name} is a {@code parameter} {@linkplain 
DefaultParameterDescriptor#getName() name}
+     * or {@linkplain DefaultParameterDescriptor#getAlias() alias} chosen by 
the same algorithm than
+     * {@link #getValue(ParameterDescriptor)}.
+     *
      * @param  <T> The type of the parameter value.
      * @param  parameter The parameter to look for.
      * @return The requested parameter instance.
@@ -494,59 +598,20 @@ public abstract class Parameters impleme
     }
 
     /**
-     * Casts the given parameter descriptor to the given type.
-     * An exception is thrown immediately if the parameter does not have the 
expected
-     * {@linkplain DefaultParameterDescriptor#getValueClass() value class}.
-     *
-     * @param  <T>        The expected value class.
-     * @param  descriptor The descriptor to cast, or {@code null}.
-     * @param  valueClass The expected value class.
-     * @return The descriptor casted to the given value class, or {@code null} 
if the given descriptor was null.
-     * @throws ClassCastException if the given descriptor does not have the 
expected value class.
-     *
-     * @category verification
-     */
-    @SuppressWarnings("unchecked")
-    public static <T> ParameterDescriptor<T> cast(final ParameterDescriptor<?> 
descriptor, final Class<T> valueClass)
-            throws ClassCastException
-    {
-        if (descriptor != null) {
-            final Class<?> actual = descriptor.getValueClass();
-            // We require a strict equality - not 
type.isAssignableFrom(actual) - because in
-            // the later case we could have (to be strict) to return a <? 
extends T> type.
-            if (!valueClass.equals(actual)) {
-                throw new 
ClassCastException(Errors.format(Errors.Keys.IllegalParameterType_2,
-                        descriptor.getName().getCode(), actual));
-            }
-        }
-        return (ParameterDescriptor<T>) descriptor;
-    }
-
-    /**
-     * Casts the given parameter value to the given type.
-     * An exception is thrown immediately if the parameter does not have the 
expected value class.
+     * Returns a deep copy of this group of parameter values.
+     * Included parameter values and subgroups are cloned recursively.
      *
-     * @param  <T>   The expected value class.
-     * @param  value The value to cast, or {@code null}.
-     * @param  type  The expected value class.
-     * @return The value casted to the given type, or {@code null} if the 
given value was null.
-     * @throws ClassCastException if the given value doesn't have the expected 
value class.
+     * @return A copy of this group of parameter values.
      *
-     * @category verification
+     * @see #copy(ParameterValueGroup, ParameterValueGroup)
      */
-    @SuppressWarnings("unchecked")
-    public static <T> ParameterValue<T> cast(final ParameterValue<?> value, 
final Class<T> type)
-            throws ClassCastException
-    {
-        if (value != null) {
-            final ParameterDescriptor<?> descriptor = value.getDescriptor();
-            final Class<?> actual = descriptor.getValueClass();
-            if (!type.equals(actual)) { // Same comment than 
cast(ParameterDescriptor)...
-                throw new 
ClassCastException(Errors.format(Errors.Keys.IllegalParameterType_2,
-                        descriptor.getName().getCode(), actual));
-            }
+    @Override
+    public Parameters clone() {
+        try {
+            return (Parameters) super.clone();
+        } catch (CloneNotSupportedException e) {
+            throw new AssertionError(e);   // Should never happen since we are 
Cloneable
         }
-        return (ParameterValue<T>) value;
     }
 
     /**
@@ -658,21 +723,4 @@ public abstract class Parameters impleme
             throw new IndexOutOfBoundsException(name);
         }
     }
-
-    /**
-     * Returns a deep copy of this group of parameter values.
-     * Included parameter values and subgroups are cloned recursively.
-     *
-     * @return A copy of this group of parameter values.
-     *
-     * @see #copy(ParameterValueGroup, ParameterValueGroup)
-     */
-    @Override
-    public Parameters clone() {
-        try {
-            return (Parameters) super.clone();
-        } catch (CloneNotSupportedException e) {
-            throw new AssertionError(e);   // Should never happen since we are 
Cloneable
-        }
-    }
 }

Modified: 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/Builder.java
URL: 
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/Builder.java?rev=1663971&r1=1663970&r2=1663971&view=diff
==============================================================================
--- 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/Builder.java
 [UTF-8] (original)
+++ 
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/Builder.java
 [UTF-8] Wed Mar  4 12:42:13 2015
@@ -43,29 +43,29 @@ import java.util.Objects;
  * Base class of builders for various kind of {@link IdentifiedObject}. {@code 
Builder}s aim to make object creation
  * easier — they do not add any new functionality compared to {@link 
org.opengis.referencing.ObjectFactory}.
  * Builder methods like {@link #addName(CharSequence)} and {@link 
#addIdentifier(String)} provide convenient ways
- * to fill the {@link #properties} map, which will be given to the {@code 
ObjectFactory} methods at
- * {@code IdentifiedObject} creation time. Creations happen when any {@code 
createXXX(…)} method defined in
- * the builder subclasses is invoked.
+ * to fill the {@link #properties} map, which will be given to the {@code 
ObjectFactory} methods when any
+ * {@code createXXX(…)} method is invoked.
  *
  * <p>This base class provides method for defining the following {@link 
IdentifiedObject} properties:</p>
- * <blockquote><table class="compact" summary="Builder properties.">
- * <tr><td>{@link AbstractIdentifiedObject#getName() Name}:</td>
- *     <td>Each {@code IdentifiedObject} shall have a name, which can be 
specified by a call to any of the
- *     {@code addName(…)} methods defined in this class.</td></tr>
- *
- * <tr><td>{@link AbstractIdentifiedObject#getAlias() Aliases}:</td>
- *     <td>Identified objects can optionally have an arbitrary amount of 
aliases, which are also specified
- *     by the {@code addName(…)} methods — each call after the first one adds 
an alias.</td></tr>
- *
- * <tr><td>{@link AbstractIdentifiedObject#getIdentifiers() Identifiers}:</td>
- *     <td>Identified objects can also have an arbitrary amount of 
identifiers, which are specified by the
- *     {@code addIdentifier(…)} methods. Like names, more than one identifier 
can be added by invoking
- *     the method many time.</td></tr>
- *
- * <tr><td>{@link AbstractIdentifiedObject#getRemarks() Remarks}:</td>
- *     <td>Identified objects can have at most one remark, which is specified 
by the {@code setRemarks(…)}
- *         method.</td></tr>
- * </table></blockquote>
+ *
+ * <table class="compact" style="margin-left: 18 px" summary="Builder 
properties.">
+ *   <tr><td><b>{@linkplain AbstractIdentifiedObject#getName() Name}:</b></td>
+ *   <td>Each {@code IdentifiedObject} shall have a name, which can be 
specified by a call to any of the
+ *   {@link #addName(CharSequence) addName(…)} methods defined in this 
class.</td></tr>
+ *
+ *   <tr><td><b>{@linkplain AbstractIdentifiedObject#getAlias() 
Aliases}:</b></td>
+ *   <td>Identified objects can optionally have an arbitrary amount of 
aliases, which are also specified
+ *   by the {@code addName(…)} methods. Each call after the first one adds an 
alias.</td></tr>
+ *
+ *   <tr><td><b>{@linkplain AbstractIdentifiedObject#getIdentifiers() 
Identifiers}:</b></td>
+ *   <td>Identified objects can also have an arbitrary amount of identifiers, 
which are specified by any
+ *   of the {@link #addIdentifier(String) addIdentifier(…)} methods. Like 
names, more than one identifier
+ *   can be added by invoking the method many time.</td></tr>
+ *
+ *   <tr><td><b>{@linkplain AbstractIdentifiedObject#getRemarks() 
Remarks}:</b></td>
+ *   <td>Identified objects can have at most one remark, which is specified by 
the {@code setRemarks(…)}
+ *   method.</td></tr>
+ * </table>
  *
  * {@section Builder property lifetimes}
  * The same builder can be used for creating many objects, since constructing 
a Coordinate Reference System (CRS)
@@ -106,17 +106,17 @@ import java.util.Objects;
  * two last names will be {@code "OGC:Mercator_1SP"} and {@code 
"GeoTIFF:CT_Mercator"} respectively.
  *
  * <p>The {@code IdentificationObject} created by this example will have the 
following properties:</p>
- * <blockquote><table class="compact" summary="IdentifiedObject properties.">
- * <tr><td>{@link AbstractIdentifiedObject#getName() Name}:</td>
+ * <table class="compact" style="margin-left: 18 px" summary="IdentifiedObject 
properties.">
+ * <tr><td>{@linkplain AbstractIdentifiedObject#getName() Name}:</td>
  *     <td>{@code "Mercator (variant A)"} as a local name in {@code "EPSG"} 
scope.</td></tr>
- * <tr><td>{@link AbstractIdentifiedObject#getAlias() Aliases}:</td>
+ * <tr><td>{@linkplain AbstractIdentifiedObject#getAlias() Aliases}:</td>
  *     <td>{@code "Mercator (1SP)"} as a local name in {@code "EPSG"} scope,
  *         {@code "OGC:Mercator_1SP"} and {@code "GeoTIFF:CT_Mercator"} as 
scoped names.</td></tr>
- * <tr><td>{@link AbstractIdentifiedObject#getIdentifiers() Identifiers}:</td>
+ * <tr><td>{@linkplain AbstractIdentifiedObject#getIdentifiers() 
Identifiers}:</td>
  *     <td>{@code "EPSG:9804"} and {@code "GeoTIFF:7"}.</td></tr>
- * <tr><td>{@link AbstractIdentifiedObject#getRemarks() Remarks}:</td>
+ * <tr><td>{@linkplain AbstractIdentifiedObject#getRemarks() Remarks}:</td>
  *     <td>{@code "The “Mercator (1SP)” method name was used prior to October 
2010."}</td></tr>
- * </table></blockquote>
+ * </table>
  *
  * See {@link org.apache.sis.parameter.ParameterBuilder} class javadoc for 
more examples with the
  * <cite>Mercator</cite> projection parameters.


Reply via email to