001: /*
002: * uDig - User Friendly Desktop Internet GIS client http://udig.refractions.net (C) 2004,
003: * Refractions Research Inc. This library is free software; you can redistribute it and/or modify it
004: * under the terms of the GNU Lesser General Public License as published by the Free Software
005: * Foundation; version 2.1 of the License. This library is distributed in the hope that it will be
006: * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
007: * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
008: */
009: package net.refractions.udig.ui.palette;
010:
011: import java.util.ArrayList;
012: import java.util.Collections;
013: import java.util.HashMap;
014: import java.util.List;
015: import java.util.Map;
016: import java.util.Set;
017:
018: /**
019: * Represent palette information.
020: * A colour palette has multiple colour schemes associated with it.
021: * A colour palette is a representation of a type of colour combination
022: * as named by ColorBrewer (qualitative, selective or diverging).
023: *
024: * <p>
025: * This has been inspired by the work of ColorBrewer, indeed this is used to capture some of the
026: * information produced by that project.
027: * </p>
028: * @author ptozer
029: * @deprecated use org.geotools.brewer.color.BrewerPalette
030: */
031: public class ColourPalette {
032: private HashMap<String, ColourScheme> allColourSchemes; //<name of colour scheme, ColourScheme object
033: private String paletteType;
034:
035: /**
036: *
037: */
038: public ColourPalette() {
039: super ();
040: allColourSchemes = new HashMap<String, ColourScheme>();
041: paletteType = null;
042: }
043:
044: public ColourPalette(String type) {
045: super ();
046: allColourSchemes = new HashMap<String, ColourScheme>();
047: paletteType = type;
048: }
049:
050: public void addColourScheme(String schemeName, ColourScheme scheme) {
051: if (!(allColourSchemes.containsKey(schemeName))) {
052: allColourSchemes.put(schemeName, scheme);
053: }
054: }
055:
056: /**
057: * @return Returns the allColourSchemes.
058: */
059: public Map<String, ColourScheme> getAllColourSchemes() {
060: return Collections.unmodifiableMap((Map) allColourSchemes);
061: }
062:
063: /**
064: * @param allColourSchemes The allColourSchemes to set.
065: */
066: public void setAllColourSchemes(
067: HashMap<String, ColourScheme> allColourSchemes) {
068: this .allColourSchemes = allColourSchemes;
069: }
070:
071: /**
072: * @return Returns the allSchemeNames.
073: */
074: public List<String> getAllSchemeNames() {
075: Set<String> set = allColourSchemes.keySet();
076: // String [] array = new String[allColourSchemes.size()];
077: // set.toArray(array);
078: List<String> returnable = new ArrayList<String>();
079: returnable.addAll(set);
080:
081: return returnable;
082: }
083:
084: /**
085: * @return Returns the paletteType.
086: */
087: public String getPaletteType() {
088: return paletteType;
089: }
090:
091: /**
092: * @param paletteType The paletteType to set.
093: */
094: public void setPaletteType(String paletteType) {
095: this .paletteType = paletteType;
096: }
097:
098: public ColourScheme getColourSchemeByName(String name) {
099: return allColourSchemes.get(name);
100: }
101:
102: }
|