]>
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} */
13 public class DefaultsResourceBundle
extends ResourceBundle
{
16 protected Object
handleGetObject(String key
) {
19 Field field
= getClass().getField(key
);
20 obj
= field
.getType().getMethod("getDefault")
21 .invoke(field
.get(null));
22 } catch (Exception e
) {
23 throw new CmsException("Cannot get default for " + key
, e
);
29 public Enumeration
<String
> getKeys() {
30 Vector
<String
> res
= new Vector
<String
>();
31 final Field
[] fieldArray
= getClass().getDeclaredFields();
33 for (Field field
: fieldArray
) {
34 if (Modifier
.isStatic(field
.getModifiers())
35 && field
.getType().isAssignableFrom(LocaleUtils
.class)) {
36 res
.add(field
.getName());
39 return res
.elements();