    001    //$HeadURL: https://svn.wald.intevation.org/svn/deegree/base/branches/2.4_testing/src/org/deegree/model/coverage/PaletteInterpretation.java $
    002    /*----------------------------------------------------------------------------
    003     This file originated as a part of GeoAPI.
    004
    005     GeoAPI is free software. GeoAPI may be used, modified and
    006     redistributed by anyone for any purpose requring only maintaining the
    007     copyright and license terms on the source code and derivative files.
    008     See the OGC legal page for details.
    009
    010     The copyright to the GeoAPI interfaces is held by the Open Geospatial
    011     Consortium, see http://www.opengeospatial.org/ogc/legal
    012    ----------------------------------------------------------------------------*/
    013    package org.deegree.model.coverage;
    014
    015    /**
    016     * Describes the color entry in a color table.
    017     *
    018     * @UML codelist CV_PaletteInterpretation
    019     * @author <A HREF="http://www.opengis.org">OpenGIS&reg; consortium</A>
    020     * @version <A HREF="http://www.opengis.org/docs/01-004.pdf">Grid Coverage specification 1.0</A>
    021     *
    022     * @see ColorInterpretation
    023     * @see SampleDimension
    024     */
    025    public final class PaletteInterpretation extends CodeList {
    026        /**
    027         * Serial number for compatibility with different versions.
    028         */
    029        private static final long serialVersionUID = -7387623392932592485L;
    030
    031        /**
    032         * Gray Scale color palette.
    033         *
    034         * @UML conditional CV_Gray
    035         * @see java.awt.color.ColorSpace#TYPE_GRAY
    036         */
    037        public static final PaletteInterpretation GRAY = new PaletteInterpretation( "GRAY", 0 );
    038
    039        /**
    040         * RGB (Red Green Blue) color palette.
    041         *
    042         * @UML conditional CV_RGB
    043         * @see java.awt.color.ColorSpace#TYPE_RGB
    044         */
    045        public static final PaletteInterpretation RGB = new PaletteInterpretation( "RGB", 1 );
    046
    047        /**
    048         * CYMK (Cyan Yellow Magenta blacK) color palette.
    049         *
    050         * @UML conditional CV_CMYK
    051         * @see java.awt.color.ColorSpace#TYPE_CMYK
    052         */
    053        public static final PaletteInterpretation CMYK = new PaletteInterpretation( "CMYK", 2 );
    054
    055        /**
    056         * HSL (Hue Saturation Lightness) color palette.
    057         *
    058         * @UML conditional CV_HLS
    059         * @see java.awt.color.ColorSpace#TYPE_HLS
    060         */
    061        public static final PaletteInterpretation HLS = new PaletteInterpretation( "HLS", 3 );
    062
    063        /**
    064         * List of all enumerations of this type.
    065         */
    066        private static final PaletteInterpretation[] VALUES = new PaletteInterpretation[] { GRAY, RGB, CMYK, HLS };
    067
    068        /**
    069         * Constructs an enum with the given name.
    070         */
    071        private PaletteInterpretation( final String name, final int ordinal ) {
    072            super( name, ordinal );
    073        }
    074
    075        /**
    076         * Returns the list of <code>PaletteInterpretation</code>s.
    077         *
    078         * @return the list of <code>PaletteInterpretation</code>s.
    079         */
    080        public static PaletteInterpretation[] values() {
    081            return VALUES.clone();
    082        }
    083
    084        /**
    085         * Returns the list of enumerations of the same kind than this enum.
    086         */
    087        @Override
    088        public CodeList[] family() {
    089            return values();
    090        }
    091    }