KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > calipso > reportgenerator > common > LanguageTraslatorCustomizable


1 package com.calipso.reportgenerator.common;
2
3 import org.apache.commons.configuration.Configuration;
4
5 import java.util.Iterator JavaDoc;
6 import java.util.Map JavaDoc;
7 import java.util.HashMap JavaDoc;
8
9 import com.calipso.reportgenerator.common.LanguageTraslator;
10 import com.calipso.reportgenerator.common.ILanguageTraslator;
11
12 /**
13  * Representa el diccionario que contiene las frases
14  * que utiliza la aplicacion.
15  * Dichas clases escritas en un lenguaje determinado,
16  * las cuales son cargadas a la instancia de Map del
17  * objeto.
18  */

19
20 public class LanguageTraslatorCustomizable implements ILanguageTraslator{
21
22   private Map JavaDoc values;
23
24   /**
25    * Inicializa una instancia de LanguageTraslatorCustomizable
26    * @param configuration
27    * @throws com.calipso.reportgenerator.common.InfoException
28    */

29   public LanguageTraslatorCustomizable(Configuration configuration) throws InfoException {
30     fillValues(configuration);
31     validate();
32   }
33
34   /**
35    * Devuelve el diccionario con las frases
36    * correspondiente al idioma determinado
37    * @return
38    */

39   public Map JavaDoc getValues() {
40     if (values==null){
41       values = new HashMap JavaDoc();
42     }
43     return values;
44   }
45
46   /**
47    * Llena el diccionario con las frases correspondientes
48    * @param reportGeneratorConfiguration
49    */

50   private void fillValues(Configuration reportGeneratorConfiguration) {
51     Iterator JavaDoc iter = reportGeneratorConfiguration.getKeys();
52     while (iter.hasNext()) {
53       String JavaDoc key = (String JavaDoc) iter.next();
54       String JavaDoc value = reportGeneratorConfiguration.getString(key);
55       getValues().put(key,value);
56     }
57   }
58
59   /**
60    * Valida el diccionario
61    * @throws com.calipso.reportgenerator.common.InfoException
62    */

63   public void validate() throws InfoException {
64     if (values.isEmpty()){
65       throw new InfoException(LanguageTraslator.traslate("81"));
66     }
67   }
68
69   /**
70    * Devuelve el String en un idioma determinado
71    * a partir del id.
72    * @param id
73    * @return
74    */

75   public String JavaDoc getExceptionFromId(String JavaDoc id){
76     return (String JavaDoc) values.get(id);
77   }
78 }
79
Popular Tags