]>
git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.cms/src/org/argeo/cms/i18n/DefaultsResourceBundle.java
1 package org
.argeo
.cms
.i18n
;
3 import java
.lang
.reflect
.Field
;
4 import java
.lang
.reflect
.Modifier
;
5 import java
.util
.Enumeration
;
6 import java
.util
.ResourceBundle
;
7 import java
.util
.Vector
;
9 import org
.argeo
.cms
.CmsException
;
11 /** Expose the default values as a {@link ResourceBundle} */
12 public class DefaultsResourceBundle
extends ResourceBundle
{
15 protected Object
handleGetObject(String key
) {
18 Field field
= getClass().getField(key
);
19 obj
= field
.getType().getMethod("getDefault")
20 .invoke(field
.get(null));
21 } catch (Exception e
) {
22 throw new CmsException("Cannot get default for " + key
, e
);
28 public Enumeration
<String
> getKeys() {
29 Vector
<String
> res
= new Vector
<String
>();
30 final Field
[] fieldArray
= getClass().getDeclaredFields();
32 for (Field field
: fieldArray
) {
33 if (Modifier
.isStatic(field
.getModifiers())
34 && field
.getType().isAssignableFrom(LocaleUtils
.class)) {
35 res
.add(field
.getName());
38 return res
.elements();