You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sis.apache.org by de...@apache.org on 2012/10/20 08:23:26 UTC

svn commit: r1400377 [2/4] - in /sis/branches/JDK6: ./ ide-project/NetBeans/nbproject/ sis-build-helper/src/main/java/org/apache/sis/internal/taglet/ sis-metadata/src/main/java/org/apache/sis/metadata/ sis-utility/src/main/java/org/apache/sis/internal/...

Modified: sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/CharSequences.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/CharSequences.java?rev=1400377&r1=1400376&r2=1400377&view=diff
==============================================================================
--- sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/CharSequences.java (original)
+++ sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/CharSequences.java Sat Oct 20 06:23:24 2012
@@ -89,12 +89,12 @@ public final class CharSequences extends
     /**
      * Returns a string of the specified length filled with white spaces.
      * This method tries to return a pre-allocated string if possible.
-     * <p>
-     * This method is typically used for performing right-alignment of text on the
+     *
+     * <p>This method is typically used for performing right-alignment of text on the
      * {@linkplain java.io.Console console} or other device using monospaced font.
      * The {@code length} argument is then calculated by (<var>desired width</var> -
      * <var>used width</var>). Since the used width may be greater than expected,
-     * this method accepts negative {@code length} values as if they were zero.
+     * this method accepts negative {@code length} values as if they were zero.</p>
      *
      * @param  length The string length. Negative values are clamped to 0.
      * @return A string of length {@code length} filled with white spaces.
@@ -195,10 +195,10 @@ public final class CharSequences extends
      * Returns the index within the given character sequence of the first occurrence of the
      * specified character, starting the search at the specified index. If the character is
      * not found, then this method returns -1.
-     * <p>
-     * There is no restriction on the value of {@code fromIndex}. If negative or greater
+     *
+     * <p>There is no restriction on the value of {@code fromIndex}. If negative or greater
      * than the length of the text, then the behavior of this method is the same than the
-     * one documented in {@link String#indexOf(int, int)}.
+     * one documented in {@link String#indexOf(int, int)}.</p>
      *
      * @param  text      The character sequence in which to perform the search, or {@code null}.
      * @param  toSearch  The Unicode code point of the character to search.
@@ -288,14 +288,14 @@ search:     for (; fromIndex <= stopAt; 
      * or {@code "\r\n"} starting from the given position. When {@code numLines}
      * occurrences have been found, the index of the first character after the last
      * occurrence is returned.
-     * <p>
-     * IF the {@code numLines} argument is positive, this method searches forward.
+     *
+     * <p>If the {@code numLines} argument is positive, this method searches forward.
      * If negative, this method searches backward. If 0, this method returns the
-     * beginning of the current line.
-     * <p>
-     * If this method reaches the end of {@code text} while searching forward, then
+     * beginning of the current line.</p>
+     *
+     * <p>If this method reaches the end of {@code text} while searching forward, then
      * {@code text.length()} is returned. If this method reaches the beginning of
-     * {@code text} while searching backward, then 0 is returned.
+     * {@code text} while searching backward, then 0 is returned.</p>
      *
      * @param  text      The string in which to skip a determined amount of lines.
      * @param  numLines  The number of lines to skip. Can be positive, zero or negative.
@@ -356,10 +356,10 @@ search:     for (; fromIndex <= stopAt; 
      * by the end of the text. The subsequences in the array are in the order in which they occur
      * in the given text. If the character is not found in the input, then the resulting array has
      * just one element, which is the whole given text.
-     * <p>
-     * This method is similar to the standard {@link String#split(String)} method except for the
-     * following:
-     * <p>
+     *
+     * <p>This method is similar to the standard {@link String#split(String)} method except for the
+     * following:</p>
+     *
      * <ul>
      *   <li>It accepts generic character sequences.</li>
      *   <li>It accepts {@code null} argument, in which case an empty array is returned.</li>
@@ -418,16 +418,17 @@ search:     for (; fromIndex <= stopAt; 
      * EOL characters can be any of {@code "\r"}, {@code "\n"} or {@code "\r\n"} sequences.
      * Each element in the returned array will be a single line. If the given text is already
      * a single line, then this method returns a singleton containing only the given text.
-     * <p>
-     * At the difference of <code>{@linkplain #split split}(toSplit, '\n’)</code>,
-     * this method does not remove whitespaces.
+     *
+     * <p>At the difference of <code>{@linkplain #split split}(toSplit, '\n’)</code>,
+     * this method does not remove whitespaces.</p>
      *
      * {@note Prior JDK8 this method was relatively cheap because all string instances created by
-     * <code>String.substring(int,int)</code> shared the same <code>char[]</code> internal array.
-     * However since JDK8, the new <code>String</code> implementation copies the data in new arrays.
-     * Consequently it is better to use index rather than this method for splitting large
-     * <code>String</code>s. However this method still useful for other <code>CharSequence</code>
-     * implementations providing an efficient <code>subSequence(int,int)</code> method.}
+     *        <code>String.substring(int,int)</code> shared the same <code>char[]</code> internal
+     *        array. However since JDK8, the new <code>String</code> implementation copies the data
+     *        in new arrays. Consequently it is better to use index rather than this method for
+     *        splitting large <code>String</code>s. However this method still useful for other
+     *        <code>CharSequence</code> implementations providing an efficient
+     *        <code>subSequence(int,int)</code> method.}
      *
      * @param  text The multi-line text from which to get the individual lines, or {@code null}.
      * @return The lines in the text, or an empty array if the given text was null.
@@ -637,7 +638,7 @@ search:     for (; fromIndex <= stopAt; 
      * Formats the given elements as a (typically) comma-separated list. This method is similar to
      * {@link java.util.AbstractCollection#toString()} or {@link java.util.Arrays#toString(Object[])}
      * except for the following:
-     * <p>
+     *
      * <ul>
      *   <li>There is no leading {@code '['} or trailing {@code ']'} characters.</li>
      *   <li>Null elements are ignored instead than formatted as {@code "null"}.</li>
@@ -685,9 +686,9 @@ search:     for (; fromIndex <= stopAt; 
     /**
      * Replaces some Unicode characters by ASCII characters on a "best effort basis".
      * For example the {@code 'é'} character is replaced by {@code 'e'} (without accent).
-     * <p>
-     * The current implementation replaces only the characters in the range {@code 00C0}
-     * to {@code 00FF}, inclusive. Other characters are left unchanged.
+     *
+     * <p>The current implementation replaces only the characters in the range {@code 00C0}
+     * to {@code 00FF}, inclusive. Other characters are left unchanged.</p>
      *
      * @param  text The text to scan for Unicode characters to replace by ASCII characters,
      *         or {@code null}.
@@ -703,12 +704,12 @@ search:     for (; fromIndex <= stopAt; 
     /**
      * Returns a text with leading and trailing white spaces omitted. White spaces are identified
      * by the {@link Character#isWhitespace(int)} method.
-     * <p>
-     * This method is similar in purpose to {@link String#trim()}, except that the later considers
+     *
+     * <p>This method is similar in purpose to {@link String#trim()}, except that the later considers
      * every ASCII control codes below 32 to be a whitespace. This have the side effect of removing
      * {@linkplain org.apache.sis.io.X364 X3.64} escape sequences as well. Users should invoke this
      * {@code CharSequences.trimWhitespaces} method instead if they need to preserve X3.64 escape
-     * sequences.
+     * sequences.</p>
      *
      * @param  text The text from which to remove leading and trailing white spaces, or {@code null}.
      * @return A characters sequence with leading and trailing white spaces removed,
@@ -726,11 +727,11 @@ search:     for (; fromIndex <= stopAt; 
     /**
      * Returns a sub-sequence with leading and trailing white spaces omitted.
      * White spaces are identified by the {@link Character#isWhitespace(int)} method.
-     * <p>
-     * Invoking this method is functionally equivalent to invoking
+     *
+     * <p>Invoking this method is functionally equivalent to invoking
      * <code>{@linkplain #trimWhitespaces(CharSequence) trimWhitespaces}(text.subSequence(lower,
      * upper))</code>, except that only one call to {@link CharSequence#subSequence(int, int)}
-     * is performed instead of two.
+     * is performed instead of two.</p>
      *
      * @param  text  The text from which to remove leading and trailing white spaces.
      * @param  lower Index of the first character to consider for inclusion in the sub-sequence.
@@ -757,11 +758,11 @@ search:     for (; fromIndex <= stopAt; 
      * Trims the fractional part of the given formatted number, provided that it doesn't change
      * the value. This method assumes that the number is formatted in the US locale, typically
      * by the {@link Double#toString(double)} method.
-     * <p>
-     * More specifically if the given value ends with a {@code '.'} character followed by a
+     *
+     * <p>More specifically if the given value ends with a {@code '.'} character followed by a
      * sequence of {@code '0'} characters, then those characters are omitted. Otherwise this
      * method returns the string unchanged. This is a "<cite>all or nothing</cite>" method:
-     * either the fractional part is completely removed, or either it is left unchanged.
+     * either the fractional part is completely removed, or either it is left unchanged.</p>
      *
      * {@section Examples}
      * This method returns {@code "4"} if the given value is {@code "4."}, {@code "4.0"} or
@@ -798,9 +799,9 @@ search:     for (; fromIndex <= stopAt; 
      * Makes sure that the {@code text} string is not longer than {@code maxLength} characters.
      * If {@code text} is not longer, then it is returned unchanged. Otherwise this method returns
      * a copy of {@code text} with some characters substituted by the {@code "(…)"} string.
-     * <p>
-     * If the text needs to be shortened, then this method tries to apply the above-cited
-     * substitution between two words. For example, the following string:
+     *
+     * <p>If the text needs to be shortened, then this method tries to apply the above-cited
+     * substitution between two words. For example, the following string:</p>
      *
      * <blockquote>
      *   "This sentence given as an example is way too long to be included in a short name."
@@ -894,15 +895,15 @@ searchWordBreak:    while (true) {
      * like an English sentence. This heuristic method performs the following steps:
      *
      * <ol>
-     *   <li><p>Invoke {@link #camelCaseToWords(CharSequence, boolean)}, which separate the words
+     *   <li>Invoke {@link #camelCaseToWords(CharSequence, boolean)}, which separate the words
      *     on the basis of character case. For example {@code "transferFunctionType"} become
-     *     "<cite>transfer function type</cite>". This works fine for ISO 19115 identifiers.</p></li>
+     *     "<cite>transfer function type</cite>". This works fine for ISO 19115 identifiers.</li>
      *
-     *   <li><p>Next replace all occurrence of {@code '_'} by spaces in order to take in account
+     *   <li>Next replace all occurrence of {@code '_'} by spaces in order to take in account
      *     an other common naming convention, which uses {@code '_'} as a word separator. This
-     *     convention is used by NetCDF attributes like {@code "project_name"}.</p></li>
+     *     convention is used by NetCDF attributes like {@code "project_name"}.</li>
      *
-     *   <li><p>Finally ensure that the first character is upper-case.</p></li>
+     *   <li>Finally ensure that the first character is upper-case.</li>
      * </ol>
      *
      * {@section Exception to the above rules}
@@ -910,9 +911,9 @@ searchWordBreak:    while (true) {
      * character, then the identifier is returned "as is" except for the {@code '_'} characters
      * which are replaced by {@code '-'}. This work well for identifiers like {@code "UTF-8"} or
      * {@code "ISO-LATIN-1"} for example.
-     * <p>
-     * Note that those heuristic rules may be modified in future SIS versions,
-     * depending on the practical experience gained.
+     *
+     * <p>Note that those heuristic rules may be modified in future SIS versions,
+     * depending on the practical experience gained.</p>
      *
      * @param  identifier An identifier with no space, words begin with an upper-case character,
      *         or {@code null}.
@@ -951,15 +952,15 @@ searchWordBreak:    while (true) {
      * if the given string is {@code "PixelInterleavedSampleModel"}, then this method returns
      * "<cite>Pixel Interleaved Sample Model</cite>" or "<cite>Pixel interleaved sample model</cite>"
      * depending on the value of the {@code toLowerCase} argument.
-     * <p>
-     * If {@code toLowerCase} is {@code false}, then this method inserts spaces but does not change
+     *
+     * <p>If {@code toLowerCase} is {@code false}, then this method inserts spaces but does not change
      * the case of characters. If {@code toLowerCase} is {@code true}, then this method changes
      * {@linkplain Character#toLowerCase(int) to lower case} the first character after each spaces
      * inserted by this method (note that this intentionally exclude the very first character in
      * the given string), except if the second character {@linkplain Character#isUpperCase(int)
-     * is upper case}, in which case the word is assumed an acronym.
-     * <p>
-     * The given string is usually a programmatic identifier like a class name or a method name.
+     * is upper case}, in which case the word is assumed an acronym.</p>
+     *
+     * <p>The given string is usually a programmatic identifier like a class name or a method name.</p>
      *
      * @param  identifier An identifier with no space, words begin with an upper-case character.
      * @param  toLowerCase {@code true} for changing the first character of words to lower case,
@@ -1023,9 +1024,9 @@ searchWordBreak:    while (true) {
      * the words are separated by the camel case convention, the {@code '_'} character, or any
      * character which is not a {@linkplain Character#isJavaIdentifierPart(int) java identifier
      * part} (including spaces).
-     * <p>
-     * <b>Examples:</b> given {@code "northEast"}, this method returns {@code "NE"}.
-     * Given {@code "Open Geospatial Consortium"}, this method returns {@code "OGC"}.
+     *
+     * <p><b>Examples:</b> given {@code "northEast"}, this method returns {@code "NE"}.
+     * Given {@code "Open Geospatial Consortium"}, this method returns {@code "OGC"}.</p>
      *
      * @param  text The text for which to create an acronym, or {@code null}.
      * @return The acronym, or {@code null} if the given text was null.
@@ -1081,10 +1082,10 @@ searchWordBreak:    while (true) {
      * built from at least one character of each word in the {@code words} string. More than
      * one character from the same word may appear in the acronym, but they must always
      * be the first consecutive characters. The comparison is case-insensitive.
-     * <p>
-     * <b>Example:</b> given the string {@code "Open Geospatial Consortium"}, the following
+     *
+     * <p><b>Example:</b> given the string {@code "Open Geospatial Consortium"}, the following
      * strings are recognized as acronyms: {@code "OGC"}, {@code "ogc"}, {@code "O.G.C."},
-     * {@code "OpGeoCon"}.
+     * {@code "OpGeoCon"}.</p>
      *
      * @param  acronym A possible acronym of the sequence of words.
      * @param  words The sequence of words.
@@ -1167,9 +1168,9 @@ cmp:    while (ia < lga) {
     /**
      * Returns {@code true} if the given string contains only upper case letters or digits.
      * A few punctuation characters like {@code '_'} and {@code '.'} are also accepted.
-     * <p>
-     * This method is used for identifying character strings that are likely to be code
-     * like {@code "UTF-8"} or {@code "ISO-LATIN-1"}.
+     *
+     * <p>This method is used for identifying character strings that are likely to be code
+     * like {@code "UTF-8"} or {@code "ISO-LATIN-1"}.</p>
      *
      * @see #isJavaIdentifier(CharSequence)
      */
@@ -1248,9 +1249,9 @@ cmp:    while (ia < lga) {
     /**
      * Returns {@code true} if the given code points are equal, ignoring case.
      * This method implements the same comparison algorithm than String#equalsIgnoreCase(String).
-     * <p>
-     * This method does not verify if {@code c1 == c2}. This check should have been done
-     * by the caller, since the caller code is a more optimal place for this check.
+     *
+     * <p>This method does not verify if {@code c1 == c2}. This check should have been done
+     * by the caller, since the caller code is a more optimal place for this check.</p>
      */
     private static boolean equalsIgnoreCase(int c1, int c2) {
         c1 = toUpperCase(c1);
@@ -1493,11 +1494,11 @@ cmp:    while (ia < lga) {
      * Returns the token starting at the given offset in the given text. For the purpose of this
      * method, a "token" is any sequence of consecutive characters of the same type, as defined
      * below.
-     * <p>
-     * Let define <var>c</var> as the first non-blank character located at an index equals or
+     *
+     * <p>Let define <var>c</var> as the first non-blank character located at an index equals or
      * greater than the given offset. Then the characters that are considered of the same type
-     * are:
-     * <p>
+     * are:</p>
+     *
      * <ul>
      *   <li>If <var>c</var> is a
      *       {@linkplain Character#isJavaIdentifierStart(int) Java identifier start},

Modified: sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/Characters.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/Characters.java?rev=1400377&r1=1400376&r2=1400377&view=diff
==============================================================================
--- sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/Characters.java (original)
+++ sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/Characters.java Sat Oct 20 06:23:24 2012
@@ -27,7 +27,7 @@ package org.apache.sis.util;
  */
 public final class Characters extends Static {
     /**
-     * The <cite>no-break space</cite> (Unicode {@code \u00A0}, HTML {@code &nbsp;}).
+     * The <cite>no-break space</cite> (Unicode {@code \\u00A0}, HTML {@code &nbsp;}).
      * Apache SIS uses Unicode symbols directly in the source code for easier reading,
      * except for no-break spaces since they can not be visually distinguished from the
      * ordinary space (Unicode {@code \u0020}).

Modified: sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/Classes.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/Classes.java?rev=1400377&r1=1400376&r2=1400377&view=diff
==============================================================================
--- sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/Classes.java (original)
+++ sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/Classes.java Sat Oct 20 06:23:24 2012
@@ -36,7 +36,7 @@ import static org.apache.sis.util.Arrays
  * Static methods working on {@link Class} objects.
  * This class defines helper methods for working with reflection.
  * Some functionalities are:
- * <p>
+ *
  * <ul>
  *   <li>Add or remove dimension to an array type
  *       ({@link #changeArrayDimension(Class, int) changeArrayDimension})</li>
@@ -59,9 +59,9 @@ public final class Classes extends Stati
      * Methods to be rejected by {@link #isGetter(Method)}. They are mostly methods inherited
      * from {@link Object}. Only no-argument methods having a non-void return value need to be
      * declared in this list.
-     * <p>
-     * Note that testing {@code type.getDeclaringClass().equals(Object.class)}
-     * is not sufficient because those methods may be overridden in subclasses.
+     *
+     * <p>Note that testing {@code type.getDeclaringClass().equals(Object.class)}
+     * is not sufficient because those methods may be overridden in subclasses.</p>
      */
     private static final String[] EXCLUDES = {
         "clone", "getClass", "hashCode", "toString", "toWKT"
@@ -80,10 +80,10 @@ public final class Classes extends Stati
      * will change a {@code int} class into {@code int[]}, and a {@code String[]} class into
      * {@code String[][]}. A change of dimension 2 is like applying a change of dimension 1 two
      * times.
-     * <p>
-     * The change of dimension can also be negative. For example a change of dimension -1 will
-     * change a {@code String[]} class into a {@code String}. More specifically:
-     * <p>
+     *
+     * <p>The change of dimension can also be negative. For example a change of dimension -1 will
+     * change a {@code String[]} class into a {@code String}. More specifically:</p>
+     *
      * <ul>
      *   <li>If the given {@code element} is null, then this method returns {@code null}.</li>
      *   <li>Otherwise if the given {@code dimension} change is 0, then the given {@code element}
@@ -134,11 +134,11 @@ public final class Classes extends Stati
     /**
      * Returns the upper bounds of the parameterized type of the given attribute.
      * If the attribute does not have a parameterized type, returns {@code null}.
-     * <p>
-     * This method is typically used for fetching the type of elements in a collection.
-     * We do not provide a method working from a {@link Class} instance because of the
-     * way parameterized types are implemented in Java (by erasure).
-     * <p>
+     *
+     * <p>This method is typically used for fetching the type of elements in a collection.
+     * We do not provide a method working from a {@link Class} instance because of the way
+     * parameterized types are implemented in Java (by erasure).</p>
+     *
      * <b>Examples:</b> When invoking this method for a field of the type below:
      * <ul>
      *   <li>{@code Set<Number>} returns {@code Number.class}.</li>
@@ -167,10 +167,10 @@ public final class Classes extends Stati
      * provides the same semantic than {@link #boundOfParameterizedAttribute(Field)}, but
      * works on a getter or setter method rather then the field. See the javadoc of above
      * method for more details.
-     * <p>
-     * This method is typically used for fetching the type of elements in a collection.
-     * We do not provide a method working from a {@link Class} instance because of the
-     * way parameterized types are implemented in Java (by erasure).
+     *
+     * <p>This method is typically used for fetching the type of elements in a collection.
+     * We do not provide a method working from a {@link Class} instance because of the way
+     * parameterized types are implemented in Java (by erasure).</p>
      *
      * @param  method The getter or setter method for which to obtain the parameterized type.
      * @return The upper bound of parameterized type, or {@code null} if the given method
@@ -223,11 +223,11 @@ public final class Classes extends Stati
      * Casts the {@code type} class to represent a subclass of the class represented by the
      * {@code sub} argument. Checks that the cast is valid, and returns {@code null} if it
      * is not.
-     * <p>
-     * This method performs the same work than
+     *
+     * <p>This method performs the same work than
      * <code>type.{@linkplain Class#asSubclass(Class) asSubclass}(sub)</code>,
      * except that {@code null} is returned instead than throwing an exception
-     * if the cast is not valid or if any of the argument is {@code null}.
+     * if the cast is not valid or if any of the argument is {@code null}.</p>
      *
      * @param  <U>  The compile-time bounds of the {@code sub} argument.
      * @param  type The class to cast to a sub-class, or {@code null}.
@@ -270,8 +270,8 @@ public final class Classes extends Stati
      * Returns the classes of all objects in the given collection. If the given collection
      * contains some null elements, then the returned set will contains a null element as well.
      * The returned set is modifiable and can be freely updated by the caller.
-     * <p>
-     * Note that interfaces are not included in the returned set.
+     *
+     * <p>Note that interfaces are not included in the returned set.</p>
      *
      * @param  <T> The base type of elements in the given collection.
      * @param  objects The collection of objects.
@@ -374,8 +374,8 @@ next:       for (final Class<?> candidat
      * Returns the most specific class implemented by the objects in the given collection.
      * If there is more than one specialized class, returns their {@linkplain #findCommonClass
      * most specific common super class}.
-     * <p>
-     * This method searches for classes only, not interfaces.
+     *
+     * <p>This method searches for classes only, not interfaces.</p>
      *
      * @param  objects A collection of objects. May contains duplicated values and null values.
      * @return The most specialized class, or {@code null} if the given collection does not contain
@@ -426,8 +426,8 @@ next:       for (final Class<?> candidat
      * the type of all given objects. If no element in the given collection has a type assignable
      * from the type of all other elements, then this method searches for a common
      * {@linkplain Class#getSuperclass super class}.
-     * <p>
-     * This method searches for classes only, not interfaces.
+     *
+     * <p>This method searches for classes only, not interfaces.</p>
      *
      * @param  objects A collection of objects. May contains duplicated values and null values.
      * @return The most specific class common to all supplied objects, or {@code null} if the
@@ -443,8 +443,8 @@ next:       for (final Class<?> candidat
      * Returns the most specific class which {@linkplain Class#isAssignableFrom is assignable from}
      * the given classes or a parent of those classes. This method returns either {@code c1},
      * {@code c2} or a common parent of {@code c1} and {@code c2}.
-     * <p>
-     * This method considers classes only, not the interfaces.
+     *
+     * <p>This method considers classes only, not the interfaces.</p>
      *
      * @param  c1 The first class, or {@code null}.
      * @param  c2 The second class, or {@code null}.
@@ -558,11 +558,11 @@ compare:for (int i=0; i<c1.length; i++) 
      * of {@code "java.lang.String"} for a {@link String} object. It will also name
      * array according Java language usage,  for example {@code "double[]"} instead
      * of {@code "[D"}.
-     * <p>
-     * This method is similar to the {@link Class#getSimpleName()} method, except that
-     * if the given class is an inner class, then the returned value is prefixed with
-     * the outer class name. For example this method returns {@code "Point2D.Double"}
-     * instead of {@code "Double"}.
+     *
+     * <p>This method is similar to the {@link Class#getSimpleName()} method, except that
+     * if the given class is an inner class, then the returned value is prefixed with the
+     * outer class name. For example this method returns {@code "Point2D.Double"} instead
+     * of {@code "Double"}.</p>
      *
      * @param  classe The object class (may be {@code null}).
      * @return A short class name for the specified object, or {@code "<*>"} if the
@@ -605,8 +605,8 @@ compare:for (int i=0; i<c1.length; i++) 
      * More specifically, if at least one {@code allowedTypes[i]} element exists for which
      * <code>allowedTypes[i].{@linkplain Class#isAssignableFrom(Class) isAssignableFrom}(type)</code>
      * returns {@code true}, then this method returns {@code true}.
-     * <p>
-     * Special cases:
+     *
+     * <p>Special cases:</p>
      * <ul>
      *   <li>If {@code type} is null, then this method returns {@code false}.</li>
      *   <li>If {@code allowedTypes} is null, then this method returns {@code true}.

Modified: sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/ComparisonMode.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/ComparisonMode.java?rev=1400377&r1=1400376&r2=1400377&view=diff
==============================================================================
--- sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/ComparisonMode.java (original)
+++ sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/ComparisonMode.java Sat Oct 20 06:23:24 2012
@@ -19,11 +19,23 @@ package org.apache.sis.util;
 
 /**
  * Specifies the degree of strictness when comparing two {@link LenientComparable} objects
- * for equality. This enumeration is <em>ordered</em> from stricter to more lenient degrees:
- * {@link #STRICT}, {@link #BY_CONTRACT}, {@link #IGNORE_METADATA}, {@link #APPROXIMATIVE}.
- * <p>
- * if two objects are equal at some degree of strictness <var>E</var>, then they should also
- * be equal at all degrees listed below <var>E</var> in this page. For example if two objects
+ * for equality. This enumeration allows users to specify which kind of differences can be
+ * tolerated between two objects: differences in implementation class, differences in
+ * some kinds of property, or slight difference in numerical values.
+ *
+ * <p>This enumeration is <em>ordered</em> from stricter to more lenient degrees:</p>
+ *
+ * <ol>
+ *   <li>{@link #STRICT}:          All attributes of the compared objects shall be strictly equal.</li>
+ *   <li>{@link #BY_CONTRACT}:     Only the attributes published in the interface contract need to be compared.</li>
+ *   <li>{@link #IGNORE_METADATA}: Only the attributes relevant to the object functionality are compared.</li>
+ *   <li>{@link #APPROXIMATIVE}:   Only the attributes relevant to the object functionality are compared,
+ *                                 with some tolerance threshold on numerical values.</li>
+ *   <li>{@link #DEBUG}:           Special mode for figuring out why two objects expected to be equal are not.</li>
+ * </ol>
+ *
+ * If two objects are equal at some degree of strictness <var>E</var>, then they should also
+ * be equal at all degrees listed below <var>E</var> in the above list. For example if two objects
  * are equal at the degree {@link #BY_CONTRACT}, then they should also be equal at the degree
  * {@link #IGNORE_METADATA} but not necessarily at the degree {@link #STRICT}.
  *
@@ -46,7 +58,7 @@ public enum ComparisonMode {
      * {@section Implementation note}
      * In the SIS implementation, this comparison mode usually have the following
      * characteristics (not always, this is only typical):
-     * <p>
+     *
      * <ul>
      *   <li>The objects being compared need to be the same implementation class.</li>
      *   <li>Private fields are compared directly instead than invoking public getter methods.</li>
@@ -60,15 +72,15 @@ public enum ComparisonMode {
      * Only the attributes published in some contract (typically a GeoAPI interface) need
      * to be compared. The implementation classes do not need to be the same and some private
      * attributes may be ignored.
-     * <p>
-     * Note that this comparison mode does <strong>not</strong> guaranteed {@link Object#hashCode()}
+     *
+     * <p>Note that this comparison mode does <strong>not</strong> guaranteed {@link Object#hashCode()}
      * consistency, neither comparison symmetry (i.e. {@code A.equals(B)} and {@code B.equals(A)} may
-     * return different results if the {@code equals} methods are implemented differently).
+     * return different results if the {@code equals} methods are implemented differently).</p>
      *
      * {@section Implementation note}
      * In the SIS implementation, this comparison mode usually have the following
      * characteristics (not always, this is only typical):
-     * <p>
+     *
      * <ul>
      *   <li>The objects being compared need to implement the same GeoAPI interfaces.</li>
      *   <li>Public getter methods are used (no direct access to private fields).</li>
@@ -88,8 +100,8 @@ public enum ComparisonMode {
      * {@linkplain org.opengis.referencing.crs.CoordinateReferenceSystem#getIdentifiers() identifiers}
      * or the {@linkplain org.opengis.referencing.crs.CoordinateReferenceSystem#getDomainOfValidity()
      * domain of validity}, which have no impact on the coordinates being calculated, shall be ignored.
-     * <p>
-     * If the objects being compared are {@link org.opengis.referencing.operation.MathTransform}
+     *
+     * <p>If the objects being compared are {@link org.opengis.referencing.operation.MathTransform}
      * instances, then two transforms defined in a different way may be considered equivalent.
      * For example it is possible to define a
      * {@linkplain org.apache.sis.referencing.operation.projection.Mercator Mercator} projection
@@ -99,7 +111,7 @@ public enum ComparisonMode {
      * {@linkplain org.apache.sis.referencing.operation.transform.AbstractMathTransform#getParameterValues()
      * parameter values} are strictly identical, while the {@code IGNORE_METADATA} mode can consider
      * those objects as equivalent despite difference in the set of parameters, as long as coordinate
-     * transformations still produce the same results.
+     * transformations still produce the same results.</p>
      *
      * <blockquote><font size="-1"><b>Example:</b> A {@code "Mercator (2SP)"} projection with a
      * {@linkplain org.apache.sis.referencing.operation.projection.UnitaryProjection.Parameters#standardParallels

Modified: sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/Debug.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/Debug.java?rev=1400377&r1=1400376&r2=1400377&view=diff
==============================================================================
--- sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/Debug.java (original)
+++ sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/Debug.java Sat Oct 20 06:23:24 2012
@@ -31,9 +31,9 @@ import java.lang.annotation.RetentionPol
  * {@section <code>Object.toString()</code> policy}
  * Subclasses override the {@link Object#toString()} method for various purposes, sometime providing
  * content targeted to the end user (e.g. {@link java.lang.CharSequence}) and sometime providing
- * debugging information for developers only. In the Apache SIS library, <code>toString()</code>
- * methods without <code>@Debug</code> annotation shall be understandable by the end users,
- * while <code>toString()</code> methods with <code>@Debug</code> annotation is targeted to
+ * debugging information for developers only. In the Apache SIS library, {@code toString()}
+ * methods without {@code @Debug} annotation shall be understandable by the end users,
+ * while {@code toString()} methods with {@code @Debug} annotation is targeted to
  * developers and may change in any future version.
  *
  * @author  Martin Desruisseaux (Geomatys)

Modified: sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/Exceptions.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/Exceptions.java?rev=1400377&r1=1400376&r2=1400377&view=diff
==============================================================================
--- sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/Exceptions.java (original)
+++ sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/Exceptions.java Sat Oct 20 06:23:24 2012
@@ -42,11 +42,11 @@ public final class Exceptions extends St
      * that we would have if {@link Throwable} defined a {@code setMessage(String)} method.
      * We use this method when an external library throws an exception of the right type,
      * but with too few details.
-     * <p>
-     * This method tries to create a new exception using reflection. The exception class needs
+     *
+     * <p>This method tries to create a new exception using reflection. The exception class needs
      * to provide a public constructor expecting a single {@link String} argument. If the
      * exception class does not provide such constructor, then the given exception is returned
-     * unchanged.
+     * unchanged.</p>
      *
      * @param <T>       The type of the exception.
      * @param exception The exception to copy with a different message.
@@ -85,11 +85,11 @@ public final class Exceptions extends St
      * on the next line. If the exception has a {@linkplain Throwable#getCause() causes}, then
      * the localized message of the cause is formatted on the next line and the process is
      * repeated for the whole cause chain.
-     * <p>
-     * {@link SQLException} is handled especially in order to process the
-     * {@linkplain SQLException#getNextException() next exception} instead than the cause.
-     * <p>
-     * This method does not format the stack trace.
+     *
+     * <p>{@link SQLException} is handled especially in order to process the
+     * {@linkplain SQLException#getNextException() next exception} instead than the cause.</p>
+     *
+     * <p>This method does not format the stack trace.</p>
      *
      * @param  header The message to insert on the first line, or {@code null} if none.
      * @param  cause  The exception, or {@code null} if none.

Modified: sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/LenientComparable.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/LenientComparable.java?rev=1400377&r1=1400376&r2=1400377&view=diff
==============================================================================
--- sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/LenientComparable.java (original)
+++ sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/LenientComparable.java Sat Oct 20 06:23:24 2012
@@ -24,39 +24,39 @@ package org.apache.sis.util;
  * coordinates calculation.
  *
  * {@section Conditions for equality}
- * <p><b>{@link org.apache.sis.metadata.iso.MetadataEntity} subclasses:</b></p>
- * <table class="sis">
- * <tr><td><b>{@link ComparisonMode#STRICT STRICT}:</b></td>
- * <td>Objects must be of the same class and all attributes must be equal, including
- * {@linkplain org.apache.sis.metadata.iso.MetadataEntity#getIdentifiers() identifiers}.</td></tr>
- *
- * <tr><td><b>{@link ComparisonMode#BY_CONTRACT BY_CONTRACT}:</b></td>
- * <td>The same attributes than the above {@code STRICT} mode must be equal, but the metadata
- * object doesn't need to be implemented by the same class, provided that they implement the
- * same GeoAPI interface.</td></tr>
- *
- * <tr><td><b>{@link ComparisonMode#IGNORE_METADATA IGNORE_METADATA}:</b></td>
- * <td>Only the attributes defined in the GeoAPI interfaces are compared. The above-cited identifiers
- * and {@code xlinks} attributes are ignored.</td></tr>
- *
- * <tr><td><b>{@link ComparisonMode#APPROXIMATIVE APPROXIMATIVE}:</b></td>
- * <td>The same attributes than the above {@code IGNORE_METADATA} mode are compared, but a slight
- * (implementation dependant) difference is tolerated in floating point numbers.</td></tr>
- * </table>
  *
- * <p>&nbsp;</p>
- * <p><b>{@link org.apache.sis.referencing.AbstractIdentifiedObject} subclasses:</b></p>
  * <table class="sis">
- * <tr><td><b>{@link ComparisonMode#STRICT STRICT}:</b></td>
- * <td>Objects must be of the same class and all attributes must be equal.</td></tr>
+ * <tr><th colspan="2">{@link org.apache.sis.metadata.iso.MetadataEntity} subclasses</th></tr>
+ * <tr><td>{@link ComparisonMode#STRICT STRICT}</td>
+ * <td class="sep">Objects must be of the same class and all attributes must be equal, including {@code xlink}
+ * and others {@linkplain org.apache.sis.metadata.iso.MetadataEntity#getIdentifiers() identifiers}.</td></tr>
+ *
+ * <tr><td>{@link ComparisonMode#BY_CONTRACT BY_CONTRACT}</td>
+ * <td class="sep">The same attributes than the above {@code STRICT} mode must be equal,
+ * but the metadata object don't need to be implemented by the same class
+ * provided that they implement the same GeoAPI interface.</td></tr>
+ *
+ * <tr><td>{@link ComparisonMode#IGNORE_METADATA IGNORE_METADATA}</td>
+ * <td class="sep">Only the attributes defined in the GeoAPI interfaces are compared.
+ * The above-cited identifiers and {@code xlinks} attributes are ignored.</td></tr>
+ *
+ * <tr><td>{@link ComparisonMode#APPROXIMATIVE APPROXIMATIVE}</td>
+ * <td class="sep">The same attributes than the above {@code IGNORE_METADATA} mode are compared,
+ * but a slight (implementation dependant) difference is tolerated in floating point numbers.</td></tr>
  *
- * <tr><td><b>{@link ComparisonMode#BY_CONTRACT BY_CONTRACT}:</b></td>
- * <td>The same attributes than the above {@code STRICT} mode must be equal, but the referencing
- * object don't need to be implemented by the same class, provided that they implement the
- * same GeoAPI interface.</td></tr>
  *
- * <tr><td><b>{@link ComparisonMode#IGNORE_METADATA IGNORE_METADATA}:</b></td>
- * <td>The
+ *
+ * <tr><th class="hsep" colspan="2">{@link org.apache.sis.referencing.AbstractIdentifiedObject} subclasses</th></tr>
+ * <tr><td>{@link ComparisonMode#STRICT STRICT}</td>
+ * <td class="sep">Objects must be of the same class and all attributes must be equal.</td></tr>
+ *
+ * <tr><td>{@link ComparisonMode#BY_CONTRACT BY_CONTRACT}</td>
+ * <td class="sep">The same attributes than the above {@code STRICT} mode must be equal,
+ * but the referencing object don't need to be implemented by the same class
+ * provided that they implement the same GeoAPI interface.</td></tr>
+ *
+ * <tr><td>{@link ComparisonMode#IGNORE_METADATA IGNORE_METADATA}</td>
+ * <td class="sep">The
  * {@linkplain org.apache.sis.referencing.crs.AbstractCRS#getIdentifiers() identifiers},
  * {@linkplain org.apache.sis.referencing.crs.AbstractCRS#getAlias() aliases},
  * {@linkplain org.apache.sis.referencing.crs.AbstractCRS#getScope() scope},
@@ -66,56 +66,55 @@ package org.apache.sis.util;
  * {@linkplain org.opengis.referencing.operation.ConcatenatedOperation coordinate operations}.
  * All other attributes that are relevant to coordinate calculations, must be equal.</td></tr>
  *
- * <tr><td><b>{@link ComparisonMode#APPROXIMATIVE APPROXIMATIVE}:</b></td>
- * <td>The same attributes than the above {@code IGNORE_METADATA} mode are compared, but a slight
- * (implementation dependant) difference is tolerated in floating point numbers.</td></tr>
- * </table>
+ * <tr><td>{@link ComparisonMode#APPROXIMATIVE APPROXIMATIVE}</td>
+ * <td class="sep">The same attributes than the above {@code IGNORE_METADATA} mode are compared,
+ * but a slight (implementation dependant) difference is tolerated in floating point numbers.</td></tr>
  *
- * <p>&nbsp;</p>
- * <p><b>{@link org.apache.sis.referencing.operation.transform.AbstractMathTransform} subclasses
- * except {@link org.apache.sis.referencing.operation.transform.LinearTransform}:</b></p>
- * <table class="sis">
- * <tr><td><b>{@link ComparisonMode#STRICT STRICT}:</b></td>
- * <td>Objects must be of the same class and all attributes must be equal, including the
+ *
+ *
+ * <tr><th class="hsep" colspan="2">{@link org.apache.sis.referencing.operation.transform.AbstractMathTransform} subclasses
+ * except {@link org.apache.sis.referencing.operation.transform.LinearTransform}</th></tr>
+ * <tr><td>{@link ComparisonMode#STRICT STRICT}</td>
+ * <td class="sep">Objects must be of the same class and all attributes must be equal, including the
  * {@linkplain org.apache.sis.referencing.operation.transform.AbstractMathTransform#getParameterValues()
  * parameter values}.</td></tr>
  *
- * <tr><td><b>{@link ComparisonMode#BY_CONTRACT BY_CONTRACT}:</b></td>
- * <td>Synonymous to the {@code STRICT} mode, because there is no GeoAPI interfaces for the various
+ * <tr><td>{@link ComparisonMode#BY_CONTRACT BY_CONTRACT}</td>
+ * <td class="sep">Synonymous to the {@code STRICT} mode, because there is no GeoAPI interfaces for the various
  * kind of math transforms.</td></tr>
  *
- * <tr><td><b>{@link ComparisonMode#IGNORE_METADATA IGNORE_METADATA}:</b></td>
- * <td>Objects must be of the same class, but the parameter values can be different if they are
- * different way to formulate the same transform. For example a {@code "Mercator (2SP)"} projection
- * with a {@linkplain org.apache.sis.referencing.operation.projection.UnitaryProjection.Parameters#standardParallels
+ * <tr><td>{@link ComparisonMode#IGNORE_METADATA IGNORE_METADATA}</td>
+ * <td class="sep">Objects must be of the same class, but the parameter values can be different
+ * if they are different way to formulate the same transform.
+ * For example a {@code "Mercator (2SP)"} projection with a
+ * {@linkplain org.apache.sis.referencing.operation.projection.UnitaryProjection.Parameters#standardParallels
  * standard parallel} value of 60° produces the same results than a {@code "Mercator (1SP)"} projection with a
- * {@linkplain org.apache.sis.referencing.operation.projection.UnitaryProjection.Parameters#scaleFactor scale
- * factor} value of 0.5</td></tr>
+ * {@linkplain org.apache.sis.referencing.operation.projection.UnitaryProjection.Parameters#scaleFactor scale factor}
+ * value of 0.5</td></tr>
  *
- * <tr><td><b>{@link ComparisonMode#APPROXIMATIVE APPROXIMATIVE}:</b></td>
- * <td>The same attributes than the above {@code IGNORE_METADATA} mode are compared, but a slight
- * (implementation dependant) difference is tolerated in floating point numbers.</td></tr>
- * </table>
+ * <tr><td>{@link ComparisonMode#APPROXIMATIVE APPROXIMATIVE}</td>
+ * <td class="sep">The same attributes than the above {@code IGNORE_METADATA} mode are compared,
+ * but a slight (implementation dependant) difference is tolerated in floating point numbers.</td></tr>
  *
- * <p>&nbsp;</p>
- * <p><b>{@link org.apache.sis.referencing.operation.matrix.XMatrix} and
- * {@link org.apache.sis.referencing.operation.transform.LinearTransform} implementations:</b></p>
- * <table class="sis">
- * <tr><td><b>{@link ComparisonMode#STRICT STRICT}:</b></td>
- * <td>Objects must be of the same class, matrixes must have the same size and all matrix
+ *
+ *
+ * <tr><th class="hsep" colspan="2">{@link org.apache.sis.referencing.operation.matrix.XMatrix} and
+ * {@link org.apache.sis.referencing.operation.transform.LinearTransform} implementations</th></tr>
+ * <tr><td>{@link ComparisonMode#STRICT STRICT}</td>
+ * <td class="sep">Objects must be of the same class, matrixes must have the same size and all matrix
  * elements must be equal.</td></tr>
  *
- * <tr><td><b>{@link ComparisonMode#BY_CONTRACT BY_CONTRACT}:</b></td>
- * <td>Matrixes must have the same size and all matrix elements must be equal, but the matrixes
- * are not required to be the same implementation class
+ * <tr><td>{@link ComparisonMode#BY_CONTRACT BY_CONTRACT}</td>
+ * <td class="sep">Matrixes must have the same size and all matrix elements must be equal,
+ * but the matrixes are not required to be the same implementation class
  * (any {@link org.opengis.referencing.operation.Matrix} is okay).</td></tr>
  *
- * <tr><td><b>{@link ComparisonMode#IGNORE_METADATA IGNORE_METADATA}:</b></td>
- * <td>Synonymous to the {@code BY_CONTRACT} mode, because matrixes don't have metadata.</td></tr>
+ * <tr><td>{@link ComparisonMode#IGNORE_METADATA IGNORE_METADATA}</td>
+ * <td class="sep">Synonymous to the {@code BY_CONTRACT} mode, because matrixes don't have metadata.</td></tr>
  *
- * <tr><td><b>{@link ComparisonMode#APPROXIMATIVE APPROXIMATIVE}:</b></td>
- * <td>The same attributes than the above {@code BY_CONTRACT} mode are compared, but a slight
- * (implementation dependant) difference is tolerated in floating point numbers.</td></tr>
+ * <tr><td>{@link ComparisonMode#APPROXIMATIVE APPROXIMATIVE}</td>
+ * <td class="sep">The same attributes than the above {@code BY_CONTRACT} mode are compared,
+ * but a slight (implementation dependant) difference is tolerated in floating point numbers.</td></tr>
  * </table>
  *
  * @author  Martin Desruisseaux (Geomatys)
@@ -126,7 +125,21 @@ package org.apache.sis.util;
 public interface LenientComparable {
     /**
      * Compares this object with the given object for equality.
-     * The strictness level is controlled by the second argument.
+     * The strictness level is controlled by the second argument:
+     *
+     * <table class="sis">
+     *   <tr><td>{@link ComparisonMode#STRICT STRICT}</td>
+     *     <td class="sep">All attributes of the compared objects shall be strictly equal.</td></tr>
+     *   <tr><td>{@link ComparisonMode#BY_CONTRACT BY_CONTRACT}</td>
+     *     <td class="sep">Only the attributes published in the interface contract need to be compared.</td></tr>
+     *   <tr><td>{@link ComparisonMode#IGNORE_METADATA IGNORE_METADATA}</td>
+     *     <td class="sep">Only the attributes relevant to the object functionality are compared.</td></tr>
+     *   <tr><td>{@link ComparisonMode#APPROXIMATIVE APPROXIMATIVE}</td>
+     *     <td class="sep">Only the attributes relevant to the object functionality are compared,
+     *                     with some tolerance threshold on numerical values.</td></tr>
+     *   <tr><td>{@link ComparisonMode#DEBUG DEBUG}</td>
+     *     <td class="sep">Special mode for figuring out why two objects expected to be equal are not.</td></tr>
+     * </table>
      *
      * @param  other The object to compare to {@code this}.
      * @param  mode The strictness level of the comparison.

Modified: sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/Numbers.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/Numbers.java?rev=1400377&r1=1400376&r2=1400377&view=diff
==============================================================================
--- sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/Numbers.java (original)
+++ sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/Numbers.java Sat Oct 20 06:23:24 2012
@@ -209,9 +209,9 @@ public final class Numbers extends Stati
      * Returns the widest type of two numbers. Numbers {@code n1} and {@code n2} can be instance of
      * {@link Byte}, {@link Short}, {@link Integer}, {@link Long}, {@link Float}, {@link Double},
      * {@link BigInteger} or {@link BigDecimal} types.
-     * <p>
-     * If one of the given argument is null, then this method returns the class of the
-     * non-null argument. If both arguments are null, then this method returns {@code null}.
+     *
+     * <p>If one of the given argument is null, then this method returns the class of the
+     * non-null argument. If both arguments are null, then this method returns {@code null}.</p>
      *
      * @param  n1 The first number, or {@code null}.
      * @param  n2 The second number, or {@code null}.
@@ -232,10 +232,10 @@ public final class Numbers extends Stati
      * Returns the widest of the given types. Classes {@code c1} and {@code c2} can be
      * {@link Byte}, {@link Short}, {@link Integer}, {@link Long}, {@link Float},
      * {@link Double}, {@link BigInteger} or {@link BigDecimal} types.
-     * <p>
-     * If one of the given argument is null, then this method returns the non-null argument.
-     * If both arguments are null, then this method returns {@code null}.
-     * <p>
+     *
+     * <p>If one of the given argument is null, then this method returns the non-null argument.
+     * If both arguments are null, then this method returns {@code null}.</p>
+     *
      * Example:
      *
      * {@preformat java
@@ -293,10 +293,10 @@ public final class Numbers extends Stati
      * Returns the finest of the given types. Classes {@code c1} and {@code c2} can be
      * {@link Byte}, {@link Short}, {@link Integer}, {@link Long}, {@link Float},
      * {@link Double}, {@link BigInteger} or {@link BigDecimal} types.
-     * <p>
-     * If one of the given argument is null, then this method returns the non-null argument.
-     * If both arguments are null, then this method returns {@code null}.
-     * <p>
+     *
+     * <p>If one of the given argument is null, then this method returns the non-null argument.
+     * If both arguments are null, then this method returns {@code null}.</p>
+     *
      * Example:
      *
      * {@preformat java
@@ -375,7 +375,7 @@ public final class Numbers extends Stati
     /**
      * Returns the smallest class capable to hold the specified value.
      * This method makes the following choice:
-     * <p>
+     *
      * <ul>
      *   <li>If the given value is between {@value java.lang.Byte#MIN_VALUE} and
      *       {@value java.lang.Byte#MAX_VALUE}, then this method returns {@code Byte.class};</li>
@@ -448,7 +448,7 @@ public final class Numbers extends Stati
     /**
      * Returns the number of the smallest type capable to hold the specified value.
      * This method makes the following choice:
-     * <p>
+     *
      * <ul>
      *   <li>If the given value is between {@value java.lang.Byte#MIN_VALUE} and
      *       {@value java.lang.Byte#MAX_VALUE}, then it is wrapped in a {@link Byte} object.</li>
@@ -499,7 +499,7 @@ public final class Numbers extends Stati
      * Casts a number to the specified class. The class must by one of {@link Byte},
      * {@link Short}, {@link Integer}, {@link Long}, {@link Float} or {@link Double}.
      * This method makes the following choice:
-     * <p>
+     *
      * <ul>
      *   <li>If the given type is {@code Double.class}, then this method returns
      *       <code>{@linkplain Double#valueOf(double) Double.valueOf}(n.doubleValue())</code>;</li>
@@ -539,7 +539,7 @@ public final class Numbers extends Stati
      * {@link Double}, {@link Float}, {@link Long}, {@link Integer}, {@link Short}, {@link Byte},
      * {@link Boolean}, {@link Character} or {@link String} according the specified type. This
      * method makes the following choice:
-     * <p>
+     *
      * <ul>
      *   <li>If the given type is {@code Double.class}, then this method returns
      *       <code>{@linkplain Double#valueOf(String) Double.valueOf}(value)</code>;</li>

Modified: sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/StringBuilders.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/StringBuilders.java?rev=1400377&r1=1400376&r2=1400377&view=diff
==============================================================================
--- sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/StringBuilders.java (original)
+++ sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/StringBuilders.java Sat Oct 20 06:23:24 2012
@@ -161,11 +161,11 @@ public final class StringBuilders extend
      * Trims the fractional part of the given formatted number, provided that it doesn't change
      * the value. This method assumes that the number is formatted in the US locale, typically
      * by the {@link Double#toString(double)} method.
-     * <p>
-     * More specifically if the given buffer ends with a {@code '.'} character followed by a
+     *
+     * <p>More specifically if the given buffer ends with a {@code '.'} character followed by a
      * sequence of {@code '0'} characters, then those characters are removed. Otherwise this
      * method does nothing. This is a "<cite>all or nothing</cite>" method: either the fractional
-     * part is completely removed, or either it is left unchanged.
+     * part is completely removed, or either it is left unchanged.</p>
      *
      * {@section Use case}
      * This method is useful after a {@linkplain StringBuilder#append(double) double value has
@@ -193,9 +193,9 @@ public final class StringBuilders extend
     /**
      * Replaces some Unicode characters by ASCII characters on a "best effort basis".
      * For example the {@code 'é'} character is replaced by {@code 'e'} (without accent).
-     * <p>
-     * The current implementation replaces only the characters in the range {@code 00C0}
-     * to {@code 00FF}, inclusive. Other characters are left unchanged.
+     *
+     * <p>The current implementation replaces only the characters in the range {@code 00C0}
+     * to {@code 00FF}, inclusive. Other characters are left unchanged.</p>
      *
      * @param  buffer The text to scan for Unicode characters to replace by ASCII characters.
      * @throws NullArgumentException If the given {@code buffer} is null.

Modified: sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/Utilities.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/Utilities.java?rev=1400377&r1=1400376&r2=1400377&view=diff
==============================================================================
--- sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/Utilities.java (original)
+++ sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/Utilities.java Sat Oct 20 06:23:24 2012
@@ -78,8 +78,8 @@ public final class Utilities extends Sta
      * the comparison is performed using the {@link LenientComparable#equals(Object, ComparisonMode)}
      * method. Otherwise this method performs the same work than the
      * {@link Objects#deepEquals(Object, Object)} convenience method.
-     * <p>
-     * If both arguments are arrays or collections, then the elements are compared recursively.
+     *
+     * <p>If both arguments are arrays or collections, then the elements are compared recursively.</p>
      *
      * @param  object1 The first object to compare, or {@code null}.
      * @param  object2 The second object to compare, or {@code null}.
@@ -253,7 +253,7 @@ public final class Utilities extends Sta
     /**
      * Returns a hash code for the specified object, which may be an array.
      * This method returns one of the following values:
-     * <p>
+     *
      * <ul>
      *   <li>If the supplied object is {@code null}, then this method returns 0.</li>
      *   <li>Otherwise if the object is an array of objects, then
@@ -262,7 +262,7 @@ public final class Utilities extends Sta
      *       {@link java.util.Arrays#hashCode(double[]) Arrays.hashCode(...)} method is invoked.</li>
      *   <li>Otherwise {@link Object#hashCode()} is invoked.</li>
      * </ul>
-     * <p>
+     *
      * This method should be invoked <strong>only</strong> if the object type is declared
      * exactly as {@code Object}, not as some subtype like {@code Object[]}, {@code String} or
      * {@code float[]}. In the later cases, use the appropriate {@link java.util.Arrays} method
@@ -290,7 +290,7 @@ public final class Utilities extends Sta
     /**
      * Returns a string representation of the specified object, which may be an array.
      * This method returns one of the following values:
-     * <p>
+     *
      * <ul>
      *   <li>If the object is an array of objects, then
      *       {@link java.util.Arrays#deepToString(Object[])} is invoked.</li>
@@ -298,7 +298,7 @@ public final class Utilities extends Sta
      *       {@link java.util.Arrays#toString(double[]) Arrays.toString(...)} method is invoked.</li>
      *   <li>Otherwise {@link String#valueOf(Object)} is invoked.</li>
      * </ul>
-     * <p>
+     *
      * This method should be invoked <strong>only</strong> if the object type is declared
      * exactly as {@code Object}, not as some subtype like {@code Object[]}, {@code Number} or
      * {@code float[]}. In the later cases, use the appropriate {@link java.util.Arrays} method

Modified: sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/Workaround.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/Workaround.java?rev=1400377&r1=1400376&r2=1400377&view=diff
==============================================================================
--- sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/Workaround.java (original)
+++ sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/Workaround.java Sat Oct 20 06:23:24 2012
@@ -27,9 +27,9 @@ import java.lang.annotation.RetentionPol
  * This is marker annotation for source code only, in order to keep trace of code to revisit
  * when new versions of external libraries become available.
  *
- * {@note When only a portion of a method contains a workaround and the annotation can not be
- * applied to that specific part, than it is applied to the whole method. Developers need to
- * refer to code comments in order to locate the specific part.}
+ * {@note When only a portion of a method contains a workaround and the annotation can
+ *        not be applied to that specific part, than it is applied to the whole method.
+ *        Developers need to refer to code comments in order to locate the specific part.}
  *
  * @author  Martin Desruisseaux (Geomatys)
  * @since   0.3 (derived from geotk-3.15)

Modified: sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/collection/BackingStoreException.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/collection/BackingStoreException.java?rev=1400377&r1=1400376&r2=1400377&view=diff
==============================================================================
--- sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/collection/BackingStoreException.java (original)
+++ sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/collection/BackingStoreException.java Sat Oct 20 06:23:24 2012
@@ -25,10 +25,10 @@ import java.sql.SQLException;
  * store (a file or a database). This exception is thrown by collection implementations that are
  * not allowed to throw checked exceptions. This exception usually has an {@link IOException} or
  * a {@link SQLException} as its {@linkplain #getCause() cause}.
- * <p>
- * This method provides a {@link #unwrapOrRethrow(Class)} convenience method which can be used
+ *
+ * <p>This method provides a {@link #unwrapOrRethrow(Class)} convenience method which can be used
  * for re-throwing the cause as in the example below. This allows client code to behave as if a
- * {@link java.util.Collection} interface was allowed to declare checked exceptions.
+ * {@link java.util.Collection} interface was allowed to declare checked exceptions.</p>
  *
  * {@preformat java
  *     void myMethod() throws IOException {
@@ -89,7 +89,7 @@ public class BackingStoreException exten
     /**
      * Returns the underlying {@linkplain #getCause() cause} as an exception of the given type,
      * or re-throw the exception. More specifically, this method makes the following choices:
-     * <p>
+     *
      * <ul>
      *   <li>If the cause {@linkplain Class#isInstance(Object) is an instance} of the given
      *       type, returns the cause.</li>
@@ -97,7 +97,7 @@ public class BackingStoreException exten
      *       that exception.</li>
      *   <li>Otherwise re-throws {@code this}.</li>
      * </ul>
-     * <p>
+     *
      * This method should be used as in the example below:
      *
      * {@preformat java

Modified: sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/collection/Cache.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/collection/Cache.java?rev=1400377&r1=1400376&r2=1400377&view=diff
==============================================================================
--- sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/collection/Cache.java (original)
+++ sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/collection/Cache.java Sat Oct 20 06:23:24 2012
@@ -43,7 +43,7 @@ import static org.apache.sis.internal.ut
  * A concurrent cache mechanism. This implementation is thread-safe and supports concurrency.
  * A cache entry can be locked when an object is in process of being created. The steps
  * are as below:
- * <p>
+ *
  * <ol>
  *   <li>Check if the value is already available in the map.
  *       If it is, return it immediately and we are done.</li>
@@ -52,7 +52,7 @@ import static org.apache.sis.internal.ut
  *       the obtention of the lock). If it is, release the lock and we are done.</li>
  *   <li>Otherwise compute the value, store the result and release the lock.</li>
  * </ol>
- * <p>
+ *
  * The easiest way (except for exception handling) to use this class is to prepare a
  * {@link Callable} statement to be executed only if the object is not in the cache,
  * and to invoke the {@link #getOrCreate getOrCreate} method. Example:
@@ -108,16 +108,16 @@ import static org.apache.sis.internal.ut
  * {@section Eviction of eldest values}
  *
  * <ul>
- *   <li><p>The <cite>cost</cite> of a value is the value returned by {@link #cost}. The default
+ *   <li>The <cite>cost</cite> of a value is the value returned by {@link #cost}. The default
  *       implementation returns 1 in all cases, but subclasses can override this method for
- *       more elaborated cost computation.</p></li>
- *   <li><p>The <cite>total cost</cite> is the sum of the cost of all values held by strong
+ *       more elaborated cost computation.</li>
+ *   <li>The <cite>total cost</cite> is the sum of the cost of all values held by strong
  *       reference in this cache. The total cost does not include the cost of values held
- *       by {@linkplain Reference weak or soft reference}.</p></li>
- *   <li><p>The <cite>cost limit</cite> is the maximal value allowed for the total cost. If
+ *       by {@linkplain Reference weak or soft reference}.</li>
+ *   <li>The <cite>cost limit</cite> is the maximal value allowed for the total cost. If
  *       the total cost exceed this value, then strong references to the eldest values are
  *       replaced by {@linkplain Reference weak or soft references} until the total cost
- *       become equals or lower than the cost limit.</p></li>
+ *       become equals or lower than the cost limit.</li>
  * </ul>
  *
  * The total cost is given at construction time. If the {@link #cost} method has not been
@@ -153,8 +153,8 @@ public class Cache<K,V> extends Abstract
      * together with an estimation of their cost. This map is <strong>not</strong> thread
      * safe. For this reason, it must be used by a single thread at a given time, even
      * for read-only operations.
-     * <p>
-     * Entries in this map are ordered from least-recently accessed to most-recently accessed.
+     *
+     * <p>Entries in this map are ordered from least-recently accessed to most-recently accessed.</p>
      */
     @GuardedBy("costs")
     private final Map<K,Integer> costs;
@@ -195,10 +195,10 @@ public class Cache<K,V> extends Abstract
      * is the expected number of values to be stored in this cache. More values are allowed, but
      * a little bit of CPU time may be saved if the expected capacity is known before the cache
      * is created.
-     * <p>
-     * The <cite>cost limit</cite> is the maximal value of the <cite>total cost</cite> (the sum
-     * of the {@linkplain #cost cost} of all values) before to replace eldest strong references
-     * by {@linkplain Reference weak or soft references}.
+     *
+     * <p>The <cite>cost limit</cite> is the maximal value of the <cite>total cost</cite> (the sum
+     * of the {@linkplain #cost cost} of all values) before to replace eldest strong references by
+     * {@linkplain Reference weak or soft references}.</p>
      *
      * @param initialCapacity the initial capacity.
      * @param costLimit The maximum number of objects to keep by strong reference.

Modified: sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/collection/CacheEntries.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/collection/CacheEntries.java?rev=1400377&r1=1400376&r2=1400377&view=diff
==============================================================================
--- sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/collection/CacheEntries.java (original)
+++ sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/collection/CacheEntries.java Sat Oct 20 06:23:24 2012
@@ -30,9 +30,9 @@ import net.jcip.annotations.ThreadSafe;
 /**
  * The set of entries in the {@link Cache#map}. On iteration, handlers will be skipped
  * and the values of weak references are returned instead of the {@link Reference} object.
- * <p>
- * This class is not needed for the normal working of {@link Cache}. it is used only if
- * the user wants to see the cache entries through the standard Java collection API.
+ *
+ * <p>This class is not needed for the normal working of {@link Cache}. it is used only if
+ * the user wants to see the cache entries through the standard Java collection API.</p>
  *
  * @param <K> The type of key objects.
  * @param <V> The type of value objects.

Modified: sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/collection/CheckedArrayList.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/collection/CheckedArrayList.java?rev=1400377&r1=1400376&r2=1400377&view=diff
==============================================================================
--- sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/collection/CheckedArrayList.java (original)
+++ sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/collection/CheckedArrayList.java Sat Oct 20 06:23:24 2012
@@ -45,14 +45,14 @@ import static org.apache.sis.util.Argume
  *       type checks and write permission checks.</li>
  * </ul>
  *
- * <p>The synchronization is provided mostly in order to prevent damages
+ * The synchronization is provided mostly in order to prevent damages
  * to the list in case of concurrent access. It does <strong>not</strong> prevent
  * {@link java.util.ConcurrentModificationException} to be thrown during iterations,
  * unless the whole iteration is synchronized on this list {@linkplain #getLock() lock}.
- * For real concurrency, see the {@link java.util.concurrent} package instead.</p>
+ * For real concurrency, see the {@link java.util.concurrent} package instead.
  *
  * {@note The above is the reason why the name of this class emphases the <cite>checked</cite>
- * aspect rather than the <cite>synchronized</cite> aspect of the list.}
+ *        aspect rather than the <cite>synchronized</cite> aspect of the list.}
  *
  * @param <E> The type of elements in the list.
  *
@@ -140,9 +140,9 @@ public class CheckedArrayList<E> extends
      * after this list got the {@linkplain #getLock() lock} and before any operation that
      * may change the content. If the write operation is allowed, then this method shall
      * returns normally. Otherwise an {@link UnsupportedOperationException} is thrown.
-     * <p>
-     * The default implementation does nothing significant (see below), thus allowing this list to
-     * be modified. Subclasses can override this method if they want to control write permissions.
+     *
+     * <p>The default implementation does nothing significant (see below), thus allowing this list to
+     * be modified. Subclasses can override this method if they want to control write permissions.</p>
      *
      * {@note Actually the current implementation contains an <code>assert</code> statement
      * ensuring that the thread holds the lock. This is an implementation details that may

Modified: sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/collection/CheckedHashMap.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/collection/CheckedHashMap.java?rev=1400377&r1=1400376&r2=1400377&view=diff
==============================================================================
--- sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/collection/CheckedHashMap.java (original)
+++ sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/collection/CheckedHashMap.java Sat Oct 20 06:23:24 2012
@@ -44,14 +44,14 @@ import static org.apache.sis.util.Argume
  *   <li>Overrideable methods for controlling the synchronization lock and write permission checks.</li>
  * </ul>
  *
- * <p>The synchronization is provided mostly in order to prevent damages
+ * The synchronization is provided mostly in order to prevent damages
  * to the map in case of concurrent access. It does <strong>not</strong> prevent
  * {@link java.util.ConcurrentModificationException} to be thrown during iterations,
  * unless the whole iteration is synchronized on this map {@linkplain #getLock() lock}.
- * For real concurrency, see the {@link java.util.concurrent} package instead.</p>
+ * For real concurrency, see the {@link java.util.concurrent} package instead.
  *
  * {@note The above is the reason why the name of this class emphases the <cite>checked</cite>
- * aspect rather than the <cite>synchronized</cite> aspect of the map.}
+ *        aspect rather than the <cite>synchronized</cite> aspect of the map.}
  *
  * @param <K> The type of keys in the map.
  * @param <V> The type of values in the map.
@@ -114,14 +114,14 @@ public class CheckedHashMap<K,V> extends
      * after this map got the {@linkplain #getLock() lock} and before any operation that
      * may change the content. If the write operation is allowed, then this method shall
      * returns normally. Otherwise an {@link UnsupportedOperationException} is thrown.
-     * <p>
-     * The default implementation does nothing significant (see below), thus allowing this map to
-     * be modified. Subclasses can override this method if they want to control write permissions.
+     *
+     * <p>The default implementation does nothing significant (see below), thus allowing this map to
+     * be modified. Subclasses can override this method if they want to control write permissions.</p>
      *
      * {@note Actually the current implementation contains an <code>assert</code> statement
-     * ensuring that the thread holds the lock. This is an implementation details that may
-     * change in any future version of the SIS library. Nevertheless methods that override
-     * this one are encouraged to invoke <code>super.checkWritePermission()</code>.}
+     *        ensuring that the thread holds the lock. This is an implementation details that may
+     *        change in any future version of the SIS library. Nevertheless methods that override
+     *        this one are encouraged to invoke <code>super.checkWritePermission()</code>.}
      *
      * @throws UnsupportedOperationException if this map is unmodifiable.
      */

Modified: sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/collection/CheckedHashSet.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/collection/CheckedHashSet.java?rev=1400377&r1=1400376&r2=1400377&view=diff
==============================================================================
--- sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/collection/CheckedHashSet.java (original)
+++ sis/branches/JDK6/sis-utility/src/main/java/org/apache/sis/util/collection/CheckedHashSet.java Sat Oct 20 06:23:24 2012
@@ -44,14 +44,14 @@ import static org.apache.sis.util.Argume
  *       type checks and write permission checks.</li>
  * </ul>
  *
- * <p>The synchronization is provided mostly in order to prevent damages
+ * The synchronization is provided mostly in order to prevent damages
  * to the set in case of concurrent access. It does <strong>not</strong> prevent
  * {@link java.util.ConcurrentModificationException} to be thrown during iterations,
  * unless the whole iteration is synchronized on this set {@linkplain #getLock() lock}.
- * For real concurrency, see the {@link java.util.concurrent} package instead.</p>
+ * For real concurrency, see the {@link java.util.concurrent} package instead.
  *
  * {@note The above is the reason why the name of this class emphases the <cite>checked</cite>
- * aspect rather than the <cite>synchronized</cite> aspect of the set.}
+ *        aspect rather than the <cite>synchronized</cite> aspect of the set.}
  *
  * @param <E> The type of elements in the set.
  *
@@ -139,14 +139,14 @@ public class CheckedHashSet<E> extends L
      * after this set got the {@linkplain #getLock() lock} and before any operation that
      * may change the content. If the write operation is allowed, then this method shall
      * returns normally. Otherwise an {@link UnsupportedOperationException} is thrown.
-     * <p>
-     * The default implementation does nothing significant (see below), thus allowing this set to
-     * be modified. Subclasses can override this method if they want to control write permissions.
+     *
+     * <p>The default implementation does nothing significant (see below), thus allowing this set to
+     * be modified. Subclasses can override this method if they want to control write permissions.</p>
      *
      * {@note Actually the current implementation contains an <code>assert</code> statement
-     * ensuring that the thread holds the lock. This is an implementation details that may
-     * change in any future version of the SIS library. Nevertheless methods that override
-     * this one are encouraged to invoke <code>super.checkWritePermission()</code>.}
+     *        ensuring that the thread holds the lock. This is an implementation details that may
+     *        change in any future version of the SIS library. Nevertheless methods that override
+     *        this one are encouraged to invoke <code>super.checkWritePermission()</code>.}
      *
      * @throws UnsupportedOperationException if this set is unmodifiable.
      */