argutia
Class MyResourceBundle

java.lang.Object
  extended by argutia.MyResourceBundle
public class MyResourceBundle
extends Object

C'est un ResourceBundle enrichi de méthodes pour extraire simplement les raccourcis clavier, bulles d'information et autres configurations par défaut des unités syntaxiques configurables associés à l'application.

Author:
Geoffroy AUBRY
See Also:
ResourceBundle
Implementation Notes:
Cette classe n'hérite pas de ResourceBundle mais l'utilise en composition car seule la méthode ResourceBundle.getString(String) est reprise.
Field Summary
static String ACCELERATOR
          Suffixe de clef du ResourceBundle pour récupérer un raccourci clavier (un accelerator).
static String DENOMINATION
          Suffixe de clef du ResourceBundle pour récupérer la dénomination d'une unité syntaxique configurable.
static String MNEMONIC
          Suffixe de clef du ResourceBundle pour récupérer un pseudo raccourci clavier (un keybord mnemonic pour être précis).
private ResourceBundle resourceBundle
          ResourceBundle encapsulé sur lequel on redirige les appels à getString(String).
static String SPELLING
          Suffixe de clef du ResourceBundle pour récupérer l'orthographe d'une unité syntaxique configurable.
static String SPELLING_IN_FILE
          Suffixe de clef du ResourceBundle pour récupérer la dénomination dans un fichier d'exemple d'une unité syntaxique configurable ou d'un document coloré.
static String TOOLTIP
          Suffixe de clef du ResourceBundle pour récupérer une bulle d'information (un tool tip).
private File userPorpertiesFile
           
private Properties userProperties
           
 
Constructor Summary
MyResourceBundle(String baseName, String userPorpertiesFileName, Argutia.Builder builder)
          Crée un MyResourceBundle en récupérant un ResourceBundle utilisant le baseName et la locale spécifiés.
 
Method Summary
 KeyStroke getAccelerator(String key)
          Récupère le raccourci clavier (un accelerator) rattaché à la clef spécifiée du ResourceBundle.
 String getDefaultString(String key)
           
 Locale getLocale()
           
 int getMnemonic(String key)
          Récupère le pseudo raccourci clavier (un keybord mnemonic pour être précis) rattaché à la clef spécifiée du ResourceBundle.
 String getString(String key)
          Retourne la chaîne du ResourceBundle associée à la clef spécifiée.
 String getTooltip(String key)
          Récupère la bulle d'information (un tool tip) rattachée à la clef spécifiée du ResourceBundle.
 String[] getUSC(String key)
          Retourne un tableau de trois chaînes comprenant dans l'ordre la dénomination, l'orthographe et l'appellation dans les fichiers d'exemples d'une unité syntaxique configurable.
 void saveUserProperties(Dimension d)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Field Detail

MNEMONIC

public static final String MNEMONIC
Suffixe de clef du ResourceBundle pour récupérer un pseudo raccourci clavier (un keybord mnemonic pour être précis).

See Also:
getMnemonic(String), Constant Field Values
Constant Field Value:
".mnemonic"
Informations:
C'est une touche qui combinée en général à la touche Alt active l'élément concerné si celui-ci est déjà visible. Lélément peut être un AbstractButton ou un JTabbedPane par exemple.

ACCELERATOR

public static final String ACCELERATOR
Suffixe de clef du ResourceBundle pour récupérer un raccourci clavier (un accelerator).

See Also:
getAccelerator(String), Constant Field Values
Constant Field Value:
".accelerator"

TOOLTIP

public static final String TOOLTIP
Suffixe de clef du ResourceBundle pour récupérer une bulle d'information (un tool tip).

See Also:
getTooltip(String), Constant Field Values
Constant Field Value:
".tip"

DENOMINATION

public static final String DENOMINATION
Suffixe de clef du ResourceBundle pour récupérer la dénomination d'une unité syntaxique configurable.

See Also:
Representation.denomination, Constant Field Values
Constant Field Value:
".denomination"

SPELLING

public static final String SPELLING
Suffixe de clef du ResourceBundle pour récupérer l'orthographe d'une unité syntaxique configurable.

See Also:
Representation.orthographe, Constant Field Values
Constant Field Value:
".spelling"

SPELLING_IN_FILE

public static final String SPELLING_IN_FILE
Suffixe de clef du ResourceBundle pour récupérer la dénomination dans un fichier d'exemple d'une unité syntaxique configurable ou d'un document coloré.

See Also:
Representation.spellingInFile, DocumentColore, Constant Field Values
Constant Field Value:
".spelling_in_file"

resourceBundle

private final ResourceBundle resourceBundle
ResourceBundle encapsulé sur lequel on redirige les appels à getString(String).

See Also:
#MyResourceBundle(String, Locale), getString(String)

userPorpertiesFile

private final File userPorpertiesFile

userProperties

private Properties userProperties
Constructor Detail

MyResourceBundle

public MyResourceBundle(String baseName,
                        String userPorpertiesFileName,
                        Argutia.Builder builder)
                 throws MissingResourceException,
                        NullPointerException
Crée un MyResourceBundle en récupérant un ResourceBundle utilisant le baseName et la locale spécifiés.

See Also:
resourceBundle, ResourceBundle.getBundle(String, Locale)
Implementation Notes:
Se contente d'effectuer :
Locale locale = builder.getLocale();
if (builder.getType() == Argutia.Builder.Type.FIRST
    || builder.getType() == Argutia.Builder.Type.USER_CONFIG) {
  if (userProperties != null) {
    String s = userProperties.getProperty("argutia.language");
    if (s != null) {
      locale = new Locale(s);
    }
  }
//      System.out.println(Locale.FRENCH.equals(new Locale("fr")));
}
resourceBundle = ResourceBundle.getBundle(baseName, locale);
Parameters:
baseName - le nom de base du ResourceBundle.
locale - la locale pour laquelle le ResourceBundle est demandé.
Throws:
MissingResourceException - si aucun ResourceBundle ne peut être trouvé pour les paramètres demandés.
NullPointerException - si baseName ou locale est null.
Method Detail

getString

public String getString(String key)
                 throws NullPointerException,
                        MissingResourceException,
                        ClassCastException
Retourne la chaîne du ResourceBundle associée à la clef spécifiée.

See Also:
ResourceBundle.getString(String)
Implementation Notes:
if (value == null) {
  value = getDefaultString(key);
}
return value;
Parameters:
key - clef pour laquelle on recherche une chaîne.
Returns:
la chaîne trouvée pour la clef donnée.
Throws:
NullPointerException - si la clef est null.
MissingResourceException - si aucun objet ne peut être trouvé pour la clef spécifiée.
ClassCastException - si l'objet trouvé dans le ResourceBundle pour la clef donnée n'est pas une chaîne.

getDefaultString

public String getDefaultString(String key)
                        throws NullPointerException,
                               MissingResourceException,
                               ClassCastException
Throws:
NullPointerException
MissingResourceException
ClassCastException

getMnemonic

public int getMnemonic(String key)
                throws ClassCastException
Récupère le pseudo raccourci clavier (un keybord mnemonic pour être précis) rattaché à la clef spécifiée du ResourceBundle.

Example:
menuItem.setMnemonic(myResourceBundle.getMnemonic(key));
See Also:
MNEMONIC, AbstractButton.setMnemonic(int), JTabbedPane.setMnemonicAt(int,int), KeyStroke.getKeyStroke(String), AWTKeyStroke.getKeyCode()
Equivalent To:
À KeyEvent.CHAR_UNDEFINED (cf. valeur de retour) et aux exceptions près.
menuItem.setMnemonic(
       KeyStroke.getKeyStroke(
               myResourceBundle.getString(key + MyResourceBundle.MNEMONIC)
       ).getKeyCode()
);
Parameters:
key - clef pour laquelle on recherche un keybord mnemonic.
Returns:
le keybord mnemonic rattaché à la clef spécifiée du ResourceBundle, ou KeyEvent.CHAR_UNDEFINED si non trouvé.
Throws:
ClassCastException - si l'objet trouvé dans le ResourceBundle pour la clef donnée avec le suffixe MNEMONIC n'est pas une chaîne.

getAccelerator

public KeyStroke getAccelerator(String key)
                         throws NullPointerException,
                                ClassCastException
Récupère le raccourci clavier (un accelerator) rattaché à la clef spécifiée du ResourceBundle.

Example:
menuItem.setAccelerator(myResourceBundle.getAccelerator(key));
See Also:
ACCELERATOR, JMenuItem.setAccelerator(javax.swing.KeyStroke), KeyStroke.getKeyStroke(String)
Equivalent To:
À null (cf. valeur de retour) et aux exceptions près.
menuItem.setAccelerator(
       KeyStroke.getKeyStroke(
               myResourceBundle.getString(key + MyResourceBundle.ACCELERATOR)
       )
);
Parameters:
key - clef pour laquelle on recherche un raccourci clavier.
Returns:
le raccourci clavier rattaché à la clef spécifiée du ResourceBundle, ou null si non trouvé.
Throws:
NullPointerException - si la clef est null.
ClassCastException - si l'objet trouvé dans le ResourceBundle pour la clef donnée avec le suffixe ACCELERATOR n'est pas une chaîne.

getTooltip

public String getTooltip(String key)
                  throws NullPointerException,
                         ClassCastException
Récupère la bulle d'information (un tool tip) rattachée à la clef spécifiée du ResourceBundle.

See Also:
TOOLTIP, JTabbedPane.addTab(String, javax.swing.Icon, java.awt.Component, String)
Parameters:
key - clef pour laquelle on recherche un tool tip.
Returns:
le tool tip rattaché à la clef spécifiée du ResourceBundle, ou null si non trouvé.
Throws:
NullPointerException - si la clef est null.
ClassCastException - si l'objet trouvé dans le ResourceBundle pour la clef donnée avec le suffixe TOOLTIP n'est pas une chaîne.

getUSC

public String[] getUSC(String key)
                throws NullPointerException,
                       MissingResourceException,
                       ClassCastException
Retourne un tableau de trois chaînes comprenant dans l'ordre la dénomination, l'orthographe et l'appellation dans les fichiers d'exemples d'une unité syntaxique configurable.

See Also:
DENOMINATION, SPELLING, SPELLING_IN_FILE, Representation
Parameters:
key - clef pour laquelle on recherche la dénomination, l'orthographe et l'appellation dans les fichiers d'exemples d'une unité syntaxique configurable.
Returns:
un tableau de trois chaîne comprenant dans l'ordre la dénomination, l'orthographe et l'appellation dans les fichiers d'exemples d'une unité syntaxique configurable. Si cette dernière chaîne n'est pas trouvable elle est remplacée par null.
Throws:
NullPointerException - si la clef est null.
MissingResourceException - si aucun objet ne peut être trouvé pour la clef avec le suffixe DENOMINATION ou SPELLING.
ClassCastException - si l'objet trouvé dans le ResourceBundle pour la clef donnée avec le suffixe DENOMINATION, SPELLING ou encore SPELLING_IN_FILE n'est pas une chaîne.

getLocale

public Locale getLocale()

saveUserProperties

public void saveUserProperties(Dimension d)
                        throws FileNotFoundException,
                               IOException
Throws:
FileNotFoundException
IOException
Argutia JavaDoc
23 décembre 2007