Author: desruisseaux
Date: Thu Mar 5 20:36:19 2015
New Revision: 1664477
URL: http://svn.apache.org/r1664477
Log:
Javadoc refactoring in an attempt to clarify the usage of ParameterBuilder.
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/referencing/Builder.java
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.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=1664477&r1=1664476&r2=1664477&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] Thu Mar 5 20:36:19 2015
@@ -457,7 +457,7 @@ 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,
+ * 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=1664477&r1=1664476&r2=1664477&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] Thu Mar 5 20:36:19 2015
@@ -20,6 +20,9 @@ import javax.measure.unit.Unit;
import org.opengis.parameter.ParameterDescriptor;
import org.opengis.parameter.ParameterDescriptorGroup;
import org.opengis.parameter.GeneralParameterDescriptor;
+import org.opengis.parameter.ParameterValueGroup;
+import org.opengis.referencing.cs.CoordinateSystem; // For javadoc
+import org.opengis.referencing.crs.CoordinateReferenceSystem; // For javadoc
import org.apache.sis.measure.MeasurementRange;
import org.apache.sis.measure.NumberRange;
import org.apache.sis.measure.Range;
@@ -39,7 +42,13 @@ import static org.apache.sis.util.Argume
* 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.
*
- * <table class="compact" style="margin-left: 18 px" summary="Parameter
properties.">
+ * <table class="sis">
+ * <caption>{@code IdentifiedObject} properties</caption>
+ * <tr>
+ * <th>Property</th>
+ * <th>Description</th>
+ * </tr>
+ *
* <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
@@ -58,35 +67,57 @@ import static org.apache.sis.util.Argume
* {@section Usage example}
* Parameter descriptors are typically grouped in a {@link
ParameterDescriptorGroup}.
* All parameters usually have the same namespace, which can be declared only
once.
- * The following example creates parameters for "<cite>Mercator (variant
A)</cite>" projection method (EPSG:9804)
- * with all parameter names in the "EPSG" namespace. The default values define
a projection centered on (0°,0°),
- * with no scale factor and no false easting/northing. The projection is valid
from 80°S to 84°N and on all the
- * longitude range (±180°).
+ * The following example creates parameters for "<cite>Mercator (variant
A)</cite>"
+ * projection method (EPSG:9804) with the following characteristics:
+ *
+ * <ul>
+ * <li>A single name or identifier in the "EPSG" namespace, except:
+ * <ul>
+ * <li><cite>Longitude of natural origin</cite> parameter, which
illustrates the case of parameters having
+ * more than one name because different softwares or standards use
different conventions.</li>
+ * <li><cite>"Mercator (variant A)"</cite> projection, which is commonly
known under different names.</li>
+ * </ul>
+ * </li>
+ * <li>Default values define a projection centered on (0°,0°), with no scale
factor and no false easting/northing.</li>
+ * <li>Projection is valid from 80°S to 84°N and on all the longitude range
(±180°).</li>
+ * </ul>
*
* {@preformat java
* ParameterBuilder builder = new ParameterBuilder();
- * builder.setCodeSpace(Citations.OGP, "EPSG")
- * .setRequired(true);
+ * builder.setCodeSpace(Citations.OGP, "EPSG") // The
default namespace to be used below.
+ * .setRequired(true); // All
parameters will be considered mandatory.
*
+ * // Constructs the list of parameters.
* 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),
- * builder.addName("Scale factor at natural
origin").createStrictlyPositive(1, Unit.ONE),
- * builder.addName("False easting") .create(0, SI.METRE),
- * builder.addName("False northing") .create(0, SI.METRE)
- * };
- * }
+ * builder.addName("Latitude of natural origin") // Name in
the default namespace ("EPSG" in this example).
+ * .createBounded( -80, +84, 0, NonSI.DEGREE_ANGLE), //
Latitude of Mercator projection can not go to the poles.
*
- * Parameters often have more than one name, because different softwares or
standards use different conventions.
- * In the above example, the line creating the <cite>Longitude of natural
origin</cite> parameter could be replaced
- * by the following code in order to declare its aliases:
+ * builder.addIdentifier("8802") // Primary
key in default namespace ("EPSG" in this example).
+ * .addName("Longitude of natural origin") // Primary
name in default namespace ("EPSG" in this example).
+ * .addName(Citations.OGC, "central_meridian") // First
alias in "OGC" namespace.
+ * .addName(Citations.GEOTIFF, "NatOriginLong") // Second
alias in "GeoTIFF" namespace.
+ * .createBounded(-180, +180, 0, NonSI.DEGREE_ANGLE), //
Projection is valid on all the longitude range (±180°).
*
- * {@preformat java
- * builder.addIdentifier("8802") // Primary key in
builder default namespace (EPSG in this example).
- * .addName("Longitude of natural origin") // Primary name in
builder default namespace (EPSG in this example).
- * .addName(Citations.OGC, "central_meridian") // First alias in
"OGC" namespace.
- * .addName(Citations.GEOTIFF, "NatOriginLong") // Second alias in
"GeoTIFF" namespace.
- * .createBounded(-80, +84, 0, NonSI.DEGREE_ANGLE);
+ * builder.addName("Scale factor at natural origin")
+ * .createStrictlyPositive(1, Unit.ONE),
+ *
+ * builder.addName("False easting")
+ * .create(0, SI.METRE),
+ *
+ * builder.addName("False northing")
+ * .create(0, SI.METRE)
+ * };
+ *
+ * // Put all above parameters in a group.
+ * ParameterDescriptorGroup group = builder
+ * .addIdentifier("9804") // Defined
in implicit "EPSG" namespace.
+ * .addName ("Mercator (variant A)") // Defined
in implicit "EPSG" namespace.
+ * .addName ("Mercator (1SP)") // Defined
in implicit "EPSG" namespace.
+ * .addName (Citations.OGC, "Mercator_1SP") // "OGC"
namespace explicitly shown by toString().
+ * .addName (Citations.GEOTIFF, "CT_Mercator") //
"GeoTIFF" namespace explicitly shown by toString().
+ * .addIdentifier(Citations.GEOTIFF, "7")
+ * .setRemarks ("The “Mercator (1SP)” method name was used prior
to October 2010.")
+ * .createGroupForMapProjection(parameters);
* }
*
* @author Martin Desruisseaux (Geomatys)
@@ -333,10 +364,10 @@ public class ParameterBuilder extends Bu
* Creates a descriptor group for a map projection. This method
automatically adds mandatory parameters
* for the <cite>semi-major</cite> and <cite>semi-minor axis
length</cite>. Those parameters are usually
* not explicitely included in parameter definitions since the axis
lengths can be inferred from the
- * {@linkplain org.apache.sis.referencing.datum.DefaultEllipsoid}.
+ * {@linkplain org.apache.sis.referencing.datum.DefaultEllipsoid
ellipsoid}.
* However {@link
org.apache.sis.referencing.operation.transform.DefaultMathTransformFactory}
needs them.
*
- * <p>In addition, this method will also add hidden parameters for
alternative ways to express some parameters.
+ * <p>In addition, this method adds hidden parameters for alternative ways
to express some standard parameters.
* Those hidden parameters never appear in the {@linkplain
DefaultParameterDescriptorGroup#descriptors() list
* of parameters}. However when one of those parameters is read or
written, the work will be delegated to the
* standard parameters.</p>
@@ -344,8 +375,8 @@ public class ParameterBuilder extends Bu
* <table class="sis">
* <caption>Parameters automatically added by this method</caption>
* <tr><th>Name</th> <th>Visibility</th>
<th>Comment</th></tr>
- * <tr><td>{@code "semi_major"}</td> <td>Always</td>
<td>Standard parameter in WKT 1.</td></tr>
- * <tr><td>{@code "semi_minor"}</td> <td>Always</td>
<td>Standard parameter in WKT 1.</td></tr>
+ * <tr><td>{@code "semi_major"}</td> <td>Always</td>
<td>Standard parameter defined by WKT 1.</td></tr>
+ * <tr><td>{@code "semi_minor"}</td> <td>Always</td>
<td>Standard parameter defined by WKT 1.</td></tr>
* <tr><td>{@code "earth_radius"}</td> <td>Hidden</td>
<td>Mapped to {@code "semi_major"} and {@code "semi_minor"}
parameters.</td></tr>
* <tr><td>{@code "inverse_flattening"}</td> <td>Hidden</td>
<td>Mapped to {@code "semi_major"} and {@code "semi_minor"}
parameters.</td></tr>
* <tr><td>{@code "standard_parallel"}</td> <td>Hidden</td>
@@ -360,6 +391,8 @@ public class ParameterBuilder extends Bu
* for the group to create.
* @return The parameter descriptor group for a map projection.
*
+ * @see
org.apache.sis.referencing.operation.transform.DefaultMathTransformFactory#createBaseToDerived(CoordinateReferenceSystem,
ParameterValueGroup, CoordinateSystem)
+ *
* @since 0.6
*/
public ParameterDescriptorGroup createGroupForMapProjection(final
ParameterDescriptor<?>... parameters) {
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=1664477&r1=1664476&r2=1664477&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] Thu Mar 5 20:36:19 2015
@@ -46,9 +46,15 @@ import java.util.Objects;
* 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>
+ * <p>This base class provides methods for defining the {@link
IdentifiedObject} properties shown below:</p>
+ *
+ * <table class="sis">
+ * <caption>{@code IdentifiedObject} properties</caption>
+ * <tr>
+ * <th>Property</th>
+ * <th>Description</th>
+ * </tr>
*
- * <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>
@@ -67,57 +73,92 @@ import java.util.Objects;
* 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)
- * may require constructing many components (coordinate system, datum,
ellipsoid, prime meridian, <i>etc.</i>),
- * some of them sharing common properties. In order to simplify the most
common usages, identification
- * properties have two different lifetimes in the {@code Builder} class:
+ * The names and identifiers cited in the above table can be built from {@link
CharSequence} given to the
+ * {@code addName(…)} or {@code addIdentifier(…)} methods combined with the
following properties:
*
+ * <table class="sis">
+ * <caption>{@code Identifier} properties</caption>
+ * <tr>
+ * <th>Property</th>
+ * <th>Description</th>
+ * </tr>
+ *
+ * <tr><td><b>{@linkplain ImmutableIdentifier#getCodeSpace() Code
space}:</b></td>
+ * <td>Each {@code Identifier} name or code can be local to a code space
defined by an authority.
+ * Both the authority and code space can be specified by the {@link
#setCodeSpace(Citation, String)} method,
+ * and usually (but not necessarily) apply to all {@code Identifier}
instances.</td></tr>
+ *
+ * <tr><td><b>{@linkplain ImmutableIdentifier#getVersion() Version}:</b></td>
+ * <td>Identifiers can optionally have a version specified by the {@link
#setVersion(String)} method.
+ * The version usually (but not necessarily) applies to all {@code
Identifier} instances.</td></tr>
+ *
+ * <tr><td><b>{@linkplain ImmutableIdentifier#getDescription()
Description}:</b></td>
+ * <td>Identifiers can optionally have a description specified by the {@link
#setDescription(CharSequence)} method.
+ * The description applies only to the next identifier to create.</td></tr>
+ * </table>
+ *
+ * {@section Namespaces and scopes}
+ * The {@code addName(…)} and {@code addIdentifier(…)} methods come in three
flavors:
* <ul>
- * <li>{@linkplain NamedIdentifier#getAuthority() Authority}, {@linkplain
NamedIdentifier#getCodeSpace() code space}
- * and {@linkplain NamedIdentifier#getVersion() version} information
specified to this {@code Builder} will stay
- * active until they are specified again, because those information are
typically shared by all components.</li>
- * <li>Other properties (name, aliases, identifiers and remarks) are cleared
after each call to a {@code createXXX(…)}
- * method, because they are usually specific to a particular {@code
IdentifiedObject} instance.</li>
+ * <li>The {@link #addIdentifier(String)} and {@link #addName(CharSequence)}
methods combine the given argument
+ * with the above-cited authority, code space, version and description
information.
+ * The result is a {@linkplain org.apache.sis.util.iso.DefaultLocalName
local name} or identifier,
+ * in which the code space information is stored but not shown by the
{@code toString()} method.</li>
+ *
+ * <li>The {@link #addIdentifier(Citation, String)} and {@link
#addName(Citation, CharSequence)} methods use the given
+ * {@link Citation} argument, ignoring any authority or code space
information given to this {@code Builder}.
+ * The result is a {@linkplain org.apache.sis.util.iso.DefaultScopedName
scoped name} or identifier,
+ * in which the code space information is shown by the {@code
toString()} method.</li>
+ *
+ * <li>The {@link #addIdentifier(Identifier)}, {@link #addName(Identifier)}
and {@link #addName(GenericName)}
+ * methods take the given object <cite>as-is</cite>. Any authority, code
space, version or description
+ * information given to the {@code Builder} are ignored.</li>
* </ul>
*
- * {@section Usage examples}
- * The "<cite>Mercator (variant A)</cite>" projection (EPSG:9804) is also
known as "<cite>Mercator (1SP)</cite>".
- * OGC and GeoTIFF use slightly different names, and GeoTIFF has its own code
(7).
- * Those information can be specified as below:
+ * <div class="note"><b>Example:</b>
+ * The EPSG database defines a projection named "<cite>Mercator (variant
A)</cite>" (EPSG:9804).
+ * This projection was named "<cite>Mercator (1SP)</cite>" in older EPSG
database versions.
+ * The same projection was also named "{@code Mercator_1SP}" by OGC some
specifications.
+ * If we choose EPSG as our primary naming authority, then those three names
can be declared as below:
*
* {@preformat java
- * Builder builder = new Builder();
* builder.setCodespace (Citations.OGP, "EPSG")
- * .addName ("Mercator (variant A)") // Defined in
EPSG namespace.
- * .addName ("Mercator (1SP)") // Defined in
EPSG namespace.
- * .addIdentifier("9804") // Defined in
EPSG namespace.
- * .addName (Citations.OGC, "Mercator_1SP")
- * .addName (Citations.GEOTIFF, "CT_Mercator")
- * .addIdentifier(Citations.GEOTIFF, "7")
- * .setRemarks("The “Mercator (1SP)” method name was used prior to
October 2010.");
- * // At this point, the createXXX(…) method to invoke depends on the
Builder subclass.
+ * .addName("Mercator (variant A)")
+ * .addName("Mercator (1SP)")
+ * .addName(Citations.OGC, "Mercator_1SP")
* }
*
- * The two first names, which use the default namespace specified by the call
to {@code setCodeSpace(…)},
- * will have the {@code "EPSG"} {@linkplain NamedIdentifier#scope() scope}.
Since scopes are not shown
- * in {@linkplain NamedIdentifier#toString() string representation of names},
the string representation
- * of the two first names will omit the {@code "EPSG:"} prefix. However the
string representation of the
- * 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>
- * <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>{@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>{@linkplain AbstractIdentifiedObject#getIdentifiers()
Identifiers}:</td>
- * <td>{@code "EPSG:9804"} and {@code "GeoTIFF:7"}.</td></tr>
- * <tr><td>{@linkplain AbstractIdentifiedObject#getRemarks() Remarks}:</td>
- * <td>{@code "The “Mercator (1SP)” method name was used prior to October
2010."}</td></tr>
- * </table>
+ * The {@code toString()} representation of those three names are {@code
"Mercator (variant A)"},
+ * {@code "Mercator (1SP)"} (note the absence of {@code "EPSG:"} prefix, which
is stored as the
+ * name {@linkplain org.apache.sis.util.iso.DefaultLocalName#scope() scope}
but not shown) and
+ * <code>"<b>OGC:</b>Mercator_1SP"</code> respectively.</div>
*
+ *
+ * {@section Builder property lifetimes}
+ * Some complex objects require the creation of many components. For example
constructing a
+ * {@linkplain org.apache.sis.referencing.crs.AbstractCRS Coordinate Reference
System} (CRS) may require constructing a
+ * {@linkplain org.apache.sis.referencing.cs.AbstractCS coordinate system}, a
+ * {@linkplain org.apache.sis.referencing.datum.AbstractDatum datum} and an
+ * {@linkplain org.apache.sis.referencing.datum.DefaultEllipsoid ellipsoid}
among other components.
+ * However all those components often (but not necessarily) share the same
authority, code space and version information.
+ * In order to simplify that common usage, two groups of properties have
different lifetimes in the {@code Builder} class:
+ *
+ * <ul>
+ * <li>{@linkplain NamedIdentifier#getAuthority() Authority},
+ * {@linkplain NamedIdentifier#getCodeSpace() code space} and
+ * {@linkplain NamedIdentifier#getVersion() version}:<br>
+ * Kept until they are specified again, because those properties are
typically shared by all components.</li>
+ *
+ * <li>{@linkplain AbstractIdentifiedObject#getName() Name},
+ * {@linkplain AbstractIdentifiedObject#getAlias() aliases},
+ * {@linkplain AbstractIdentifiedObject#getIdentifiers() identifiers},
+ * {@linkplain ImmutableIdentifier#getDescription() description} and
+ * {@linkplain AbstractIdentifiedObject#getRemarks() remarks}:<br>
+ * Cleared after each call to a {@code createXXX(…)} method, because
those properties are usually specific
+ * to a particular {@code IdentifiedObject} or {@code Identifier}
instance.</li>
+ * </ul>
+ *
+ * {@section Usage examples}
* See {@link org.apache.sis.parameter.ParameterBuilder} class javadoc for
more examples with the
* <cite>Mercator</cite> projection parameters.
*
@@ -259,8 +300,15 @@ public abstract class Builder<B extends
}
/**
- * Sets the {@code Identifier} authority and code space. This method is
typically invoked only once,
- * since a compound object often uses the same code space for all
individual components.
+ * Sets the {@code Identifier} authority and code space.
+ * The code space is often the authority's abbreviation, but not
necessarily.
+ *
+ * <div class="note"><b>Example:</b> Coordinate Reference System (CRS)
objects identified by codes from the
+ * EPSG database are maintained by the {@linkplain
org.apache.sis.metadata.iso.citation.Citations#OGP OGP}
+ * authority, but the code space is {@code "EPSG"} for historical
reasons.</div>
+ *
+ * This method is typically invoked only once, since a compound object
often uses the same code space
+ * for all individual components.
*
* <p><b>Condition:</b>
* this method can not be invoked after one or more names or identifiers
have been added (by calls to the
@@ -275,6 +323,9 @@ public abstract class Builder<B extends
* @return {@code this}, for method call chaining.
* @throws IllegalStateException if {@code addName(…)} or {@code
addIdentifier(…)} has been invoked at least
* once since builder construction or since the last call to a
{@code createXXX(…)} method.
+ *
+ * @see ImmutableIdentifier#getAuthority()
+ * @see ImmutableIdentifier#getCodeSpace()
*/
public B setCodeSpace(final Citation authority, final String codespace) {
if (!setProperty(Identifier.CODESPACE_KEY, codespace)) {
@@ -421,7 +472,7 @@ public abstract class Builder<B extends
public B addName(final GenericName name) {
ensureNonNull("name", name);
if (properties.get(IdentifiedObject.NAME_KEY) == null) {
- properties.put(IdentifiedObject.NAME_KEY, new
NamedIdentifier(name));
+ properties.put(IdentifiedObject.NAME_KEY, (name instanceof
Identifier) ? name : new NamedIdentifier(name));
} else {
aliases.add(name);
}
Modified:
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.java
URL:
http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.java?rev=1664477&r1=1664476&r2=1664477&view=diff
==============================================================================
---
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.java
[UTF-8] (original)
+++
sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.java
[UTF-8] Thu Mar 5 20:36:19 2015
@@ -32,6 +32,7 @@ import javax.measure.converter.Conversio
import org.opengis.metadata.Identifier;
import org.opengis.parameter.ParameterValue;
import org.opengis.parameter.ParameterValueGroup;
+import org.opengis.parameter.ParameterDescriptor;
import org.opengis.parameter.ParameterDescriptorGroup;
import org.opengis.referencing.crs.CoordinateReferenceSystem;
import org.opengis.referencing.cs.CoordinateSystem;
@@ -505,6 +506,8 @@ public class DefaultMathTransformFactory
* @throws NoSuchIdentifierException if there is no transform registered
for the coordinate operation method.
* @throws FactoryException if the object creation failed. This exception
is thrown
* if some required parameter has not been supplied, or has
illegal value.
+ *
+ * @see
org.apache.sis.parameter.ParameterBuilder#createGroupForMapProjection(ParameterDescriptor...)
*/
@Override
public MathTransform createBaseToDerived(final CoordinateReferenceSystem
baseCRS,