001    //$HeadURL: svn+ssh://rbezema@svn.wald.intevation.org/deegree/base/tags/2.1/src/org/deegree/model/csct/units/resources/Quantities.java $
002    /*
003     * Map and oceanographical data visualisation
004     * Copyright (C) 1999 P�ches et Oc�ans Canada
005     *               2000 Institut de Recherche pour le D�veloppement
006     *
007     *
008     *    This library is free software; you can redistribute it and/or
009     *    modify it under the terms of the GNU Library General Public
010     *    License as published by the Free Software Foundation; either
011     *    version 2 of the License, or (at your option) any later version.
012     *
013     *    This library is distributed in the hope that it will be useful,
014     *    but WITHOUT ANY WARRANTY; without even the implied warranty of
015     *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
016     *    Library General Public License for more details (http://www.gnu.org/).
017     *
018     *
019     * Contacts:
020     *     FRANCE: Surveillance de l'Environnement Assist�e par Satellite
021     *             Institut de Recherche pour le D�veloppement / US-Espace
022     *             mailto:seasnet@teledetection.fr
023     *
024     *     CANADA: Observatoire du Saint-Laurent
025     *             Institut Maurice-Lamontagne
026     *             mailto:osl@osl.gc.ca
027     */
028    package org.deegree.model.csct.units.resources;
029    
030    
031    /**
032     * Liste de noms de quantit�s qui d�pendront de la langue de l'utilisateur. L'usager ne devrait
033     * pas cr�er lui-m�me des instances de cette classe. Une instance statique sera cr��e une fois pour toute
034     * lors du chargement de cette classe, et les divers resources seront mises � la disposition du d�veloppeur
035     * via les m�thodes statiques.
036     *
037     * @version 1.0
038     * @author Martin Desruisseaux
039     */
040    public class Quantities extends SymbolResources
041    {
042        /**
043         * Instance statique cr�e une fois pour toute.
044         * Tous les messages seront construits � partir
045         * de cette instance.
046         */
047        private final static Quantities resources =
048            (Quantities) getBundle("javax.units.resources.Quantities");
049    
050        /**
051         * Initialise les ressources par d�faut. Ces ressources ne seront pas forc�ment dans
052         * la langue de l'utilisateur. Il s'agit plut�t de ressources � utiliser par d�faut
053         * si aucune n'est disponible dans la langue de l'utilisateur. Ce constructeur est
054         * r�serv� � un usage interne et ne devrait pas �tre appell� directement.
055         */
056        public Quantities()
057        {super(Quantities_fr.contents);}
058    
059        /**
060         * Initialise les ressources en
061         * utilisant la liste sp�cifi�e.
062         */
063        Quantities(Object[] contents)
064        {super(contents);}
065    
066        /**
067         * Retourne la valeur associ�e � la cl�e sp�cifi�e, ou <code>key</code> s'il
068         * n'y en a pas. A la diff�rence de <code>format(String)</code>, cette m�thode
069         * ne lance pas d'exception si la resource n'est pas trouv�e.
070         */
071        public static String localize(final String key)
072        {
073            if (key==null) return key;
074            final Object res=resources.handleGetObject(key);
075            return (res instanceof String) ? (String) res : key;
076        }
077    }