001    //$HeadURL: svn+ssh://rbezema@svn.wald.intevation.org/deegree/base/tags/2.1/src/org/deegree/model/csct/units/resources/Prefix.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    /**
033     * Liste de noms de pr�fix qui d�pendront de la langue de l'utilisateur. L'usager ne devrait
034     * pas cr�er lui-m�me des instances de cette classe. Une instance statique sera cr��e une fois pour toute
035     * lors du chargement de cette classe, et les divers resources seront mises � la disposition du d�veloppeur
036     * via les m�thodes statiques.
037     *
038     * @version 1.0
039     * @author Martin Desruisseaux
040     */
041    public class Prefix extends SymbolResources
042    {
043        /**
044         * Instance statique cr�e une fois pour toute.
045         * Tous les messages seront construits � partir
046         * de cette instance.
047         */
048        private final static Prefix resources =
049            (Prefix) getBundle("javax.units.resources.Prefix");
050    
051        /**
052         * Initialise les ressources par d�faut. Ces ressources ne seront pas forc�ment dans
053         * la langue de l'utilisateur. Il s'agit plut�t de ressources � utiliser par d�faut
054         * si aucune n'est disponible dans la langue de l'utilisateur. Ce constructeur est
055         * r�serv� � un usage interne et ne devrait pas �tre appell� directement.
056         */
057        public Prefix()
058        {super(Prefix_fr.contents);}
059    
060        /**
061         * Initialise les ressources en
062         * utilisant la liste sp�cifi�e.
063         */
064        Prefix(Object[] contents)
065        {super(contents);}
066    
067        /**
068         * Retourne la valeur associ�e � la cl�e sp�cifi�e, ou <code>key</code> s'il
069         * n'y en a pas. A la diff�rence de <code>format(String)</code>, cette m�thode
070         * ne lance pas d'exception si la resource n'est pas trouv�e.
071         */
072        public static String localize(final String key)
073        {
074            if (key==null) return key;
075            final Object res=resources.handleGetObject(key);
076            return (res instanceof String) ? (String) res : key;
077        }
078    }