1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package net.sf.magicproject.database.data;
20
21 import net.sf.magicproject.database.Proxy;
22 import net.sf.magicproject.database.propertyconfig.PropertyConfig;
23 import net.sf.magicproject.ui.i18n.LanguageManagerMDB;
24
25 /***
26 * Represents a simple translated data, which is a name associated to a
27 * <code>String</code> value. The <code>isTranslated()</code> method always
28 * returns <code>true</code>.
29 *
30 * @author <a href="mailto:fabdouglas@users.sourceforge.net">Fabrice Daugan </a>
31 * @since 0.90
32 */
33 public class TranslatedStringData extends StringData {
34 /***
35 * The translated value of this data. Equals to <code>null</code> until is
36 * translated.
37 */
38 private String translatedValue;
39
40 /***
41 * Default public constructor.
42 *
43 * @param config
44 * the property configuration of this data to use
45 * @param value
46 * the value of this data
47 */
48 public TranslatedStringData(PropertyConfig config, String value) {
49 super(config, value);
50 }
51
52 @Override
53 public String getTranslatedValue(Proxy proxy) {
54 if (translatedValue == null) {
55 if (proxy == null) {
56 translatedValue = LanguageManagerMDB.getString(getPropertyName() + "-"
57 + getValue());
58 } else {
59 translatedValue = LanguageManagerMDB.getString(getPropertyName() + "-"
60 + proxy.getGlobalValueFromLocal(getPropertyName(), getValue()));
61 }
62 }
63 return translatedValue;
64 }
65 }