CategoryList changes for revisions 10795:10906

This is only a change of import order and a change of file encoding. Those changes have been reverted.

Command line:

svn diff --extensions "--unified --ignore-space-change --ignore-all-space --ignore-eol-style" -r10795:10906 https://svn.osgeo.org/geotools/trunk/modules/library/coverage/src/main/java/org/geotools/coverage/CategoryList.java
Revision 10795Revision 10906
/*
 * Geotools 2 - OpenSource mapping toolkit
 * (C) 2003, Geotools Project Management Committee (PMC)
 * (C) 2001, Institut de Recherche pour le Développement
 *
 *    This library is free software; you can redistribute it and/or
 *    modify it under the terms of the GNU Lesser General Public
/*
 * Geotools 2 - OpenSource mapping toolkit
 * (C) 2003, Geotools Project Management Committee (PMC)
 * (C) 2001, Institut de Recherche pour le D�veloppement
 *
 *    This library is free software; you can redistribute it and/or
 *    modify it under the terms of the GNU Lesser General Public
package org.geotools.coverage;

// J2SE dependencies
import java.util.Arrays;
import java.util.Locale;
import java.util.Comparator;
import java.util.AbstractList;
import java.awt.image.ColorModel;
import java.awt.image.DataBuffer;
import java.awt.image.RasterFormatException;
import java.io.IOException;
import java.io.Serializable;
import java.io.ObjectInputStream;
import java.io.ObjectStreamException;

// J2SE Extensions
import javax.units.Unit;
import javax.media.jai.iterator.WritableRectIter;

// OpenGIS dependencies
import org.opengis.referencing.operation.Matrix;
import org.opengis.referencing.operation.MathTransform;
import org.opengis.referencing.operation.MathTransform1D;
import org.opengis.referencing.operation.TransformException;
import org.opengis.spatialschema.geometry.DirectPosition;
import org.opengis.spatialschema.geometry.MismatchedDimensionException;

// Geotools dependencies
import org.geotools.util.NumberRange;
import org.geotools.resources.Utilities;
import org.geotools.resources.gcs.Resources;
import org.geotools.resources.gcs.ResourceKeys;
import org.geotools.geometry.GeneralDirectPosition;
import org.geotools.referencing.operation.GeneralMatrix;
import org.geotools.referencing.wkt.UnformattableObjectException;


/**
 * An immutable list of categories. Categories are sorted by their sample values.
 * Overlapping ranges of sample values are not allowed. A <code>CategoryList</code> can
package org.geotools.coverage;

// J2SE dependencies
import java.awt.image.ColorModel;
import java.awt.image.DataBuffer;
import java.awt.image.RasterFormatException;
import java.awt.image.RenderedImage;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectStreamException;
import java.io.Serializable;
import java.util.AbstractList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Locale;

import javax.media.jai.iterator.WritableRectIter;
import javax.units.Unit;

import org.geotools.geometry.GeneralDirectPosition;
import org.geotools.referencing.operation.GeneralMatrix;
import org.geotools.referencing.wkt.UnformattableObjectException;
import org.geotools.resources.Utilities;
import org.geotools.resources.gcs.ResourceKeys;
import org.geotools.resources.gcs.Resources;
import org.geotools.util.NumberRange;
import org.opengis.referencing.operation.MathTransform;
import org.opengis.referencing.operation.MathTransform1D;
import org.opengis.referencing.operation.Matrix;
import org.opengis.referencing.operation.TransformException;
import org.opengis.spatialschema.geometry.DirectPosition;
import org.opengis.spatialschema.geometry.MismatchedDimensionException;


/**
 * An immutable list of categories. Categories are sorted by their sample values.
 * Overlapping ranges of sample values are not allowed. A <code>CategoryList</code> can
}

/**
 * Compare deux valeurs de type <code>double</code>. Cette méthode
 * est similaire à {@link Double#compare(double,double)}, excepté
 * qu'elle ordonne aussi les différentes valeurs NaN.
 */
private static int compare(final double v1, final double v2) {
    if (Double.isNaN(v1) && Double.isNaN(v2)) {
}

/**
 * Compare deux valeurs de type <code>double</code>. Cette m�thode
 * est similaire � {@link Double#compare(double,double)}, except�
 * qu'elle ordonne aussi les diff�rentes valeurs NaN.
 */
private static int compare(final double v1, final double v2) {
    if (Double.isNaN(v1) && Double.isNaN(v2)) {
}

/**
 * Vérifie si le tableau de catégories spécifié est bien en ordre croissant.
 * La comparaison ne tient pas compte des valeurs <code>NaN</code>. Cette
 * méthode n'est utilisée que pour les <code>assert</code>.
 */
static boolean isSorted(final Category[] categories) {
    for (int i=1; i<categories.length; i++) {
}

/**
 * V�rifie si le tableau de cat�gories sp�cifi� est bien en ordre croissant.
 * La comparaison ne tient pas compte des valeurs <code>NaN</code>. Cette
 * m�thode n'est utilis�e que pour les <code>assert</code>.
 */
static boolean isSorted(final Category[] categories) {
    for (int i=1; i<categories.length; i++) {
}

/**
 * Effectue une recherche bi-linéaire de la valeur spécifiée. Cette
 * méthode est semblable à {@link Arrays#binarySearch(double[],double)},
 * excepté qu'elle peut distinguer différentes valeurs de NaN.
 *
 * Note: This method is not private in order to allows testing by {@link CategoryTest}.
 */
}

/**
 * Effectue une recherche bi-lin�aire de la valeur sp�cifi�e. Cette
 * m�thode est semblable � {@link Arrays#binarySearch(double[],double)},
 * except� qu'elle peut distinguer diff�rentes valeurs de NaN.
 *
 * Note: This method is not private in order to allows testing by {@link CategoryTest}.
 */
 */
public final Category getCategory(final double sample) {
    /*
     * Recherche à quelle catégorie pourrait appartenir la valeur.
     * Note: Les valeurs 'NaN' sont à la fin du tableau 'values'. Donc:
     *
     * 1) Si 'value' est NaN,  alors 'i' pointera forcément sur une catégorie NaN.
     * 2) Si 'value' est réel, alors 'i' peut pointer sur une des catégories de
     *    valeurs réels ou sur la première catégorie de NaN.
     */
    int i = binarySearch(minimums, sample); // Special 'binarySearch' for NaN
    if (i >= 0) {
 */
public final Category getCategory(final double sample) {
    /*
     * Recherche � quelle cat�gorie pourrait appartenir la valeur.
     * Note: Les valeurs 'NaN' sont � la fin du tableau 'values'. Donc:
     *
     * 1) Si 'value' est NaN,  alors 'i' pointera forc�ment sur une cat�gorie NaN.
     * 2) Si 'value' est r�el, alors 'i' peut pointer sur une des cat�gories de
     *    valeurs r�els ou sur la premi�re cat�gorie de NaN.
     */
    int i = binarySearch(minimums, sample); // Special 'binarySearch' for NaN
    if (i >= 0) {
}
buffer.append(lineSeparator);
/*
 * Ecrit la liste des catégories en dessous.
 */
for (int i=0; i<categories.length; i++) {
    buffer.append("   ");
}
buffer.append(lineSeparator);
/*
 * Ecrit la liste des cat�gories en dessous.
 */
for (int i=0; i<categories.length; i++) {
    buffer.append("   ");