List of usage examples for org.springframework.util ReflectionUtils isPublicStaticFinal
public static boolean isPublicStaticFinal(Field field)
From source file:org.web4thejob.module.CalendarModule.java
@Override public Collection<L10nString> getLocalizableStrings(final Set<Class> classes) { final Set<Class> localizableModuleClasses = new HashSet<Class>(); final List<L10nString> strings = new ArrayList<L10nString>(); //add here all module classes that need to display localizable resources on external panels localizableModuleClasses.add(CalendarSettingEnum.class); for (Class<?> clazz : localizableModuleClasses) { ReflectionUtils.doWithFields(clazz, new ReflectionUtils.FieldCallback() { @Override//from w ww . j a v a 2 s .com public void doWith(Field field) throws IllegalArgumentException, IllegalAccessException { strings.add((L10nString) field.get(null)); } }, new ReflectionUtils.FieldFilter() { @Override public boolean matches(Field field) { return ReflectionUtils.isPublicStaticFinal(field) && L10nString.class.equals(field.getType()) && classes.contains( ((L10nString) ReflectionUtils.getField(field, null)).getDeclaringClass()); } }); } return strings; }
From source file:org.web4thejob.util.L10nUtil.java
public static List<L10nString> getLocalizableResources(final Class<?> localizable) { final List<L10nString> strings = new ArrayList<L10nString>(); final Set<Class> classes = new HashSet<Class>(); classes.add(localizable);/*www . j a v a 2 s.c o m*/ classes.addAll(ClassUtils.getAllInterfacesForClassAsSet(localizable)); for (Class<?> clazz : classes) { ReflectionUtils.doWithFields(clazz, new ReflectionUtils.FieldCallback() { @Override public void doWith(Field field) throws IllegalArgumentException, IllegalAccessException { strings.add((L10nString) field.get(null)); } }, new ReflectionUtils.FieldFilter() { @Override public boolean matches(Field field) { return ReflectionUtils.isPublicStaticFinal(field) && L10nString.class.equals(field.getType()); } }); } //get localizable resources from extension modules for (Module module : ContextUtil.getModules()) { if (module instanceof LocalizableModule) { strings.addAll(((LocalizableModule) module).getLocalizableStrings(classes)); } } // add commands,settings and global strings here... if (DesktopLayoutPanel.class.isAssignableFrom(localizable)) { for (CommandEnum commandEnum : CommandEnum.values()) { L10nString l10nString = new L10nString(CommandEnum.class, commandEnum.name(), L10nUtil.getMessage(commandEnum.getClass(), commandEnum.name(), commandEnum.name())); strings.add(l10nString); } for (SettingEnum settingEnum : SettingEnum.values()) { L10nString l10nString = new L10nString(SettingEnum.class, settingEnum.name(), L10nUtil.getMessage(settingEnum.getClass(), settingEnum.name(), settingEnum.name())); strings.add(l10nString); } for (Condition condition : Condition.getConditions()) { L10nString l10nString = new L10nString(Condition.class, condition.getKey(), condition.getKey()); strings.add(l10nString); } } return strings; }