Hi all, We are considering the following implementation for a ComponentStringResourceLoader. The idea is not only to search for resources using the superclasses of the components, but also using interfaces implemented by the components. public class InterfaceAwareComponentStringResourceLoader extends ComponentStringResourceLoader { @Override public String loadStringResource(Class<?> clazz, String key, Locale locale, String style, String variation) {
String ret = super.loadStringResource(clazz, key, locale, style, variation); if (ret == null) { for (Class<?> i : clazz.getInterfaces()) { if (IResourceProvider.class.isAssignableFrom(i)) { ret = super.loadStringResource(i, key, locale, style, variation); if (ret != null) { break; } } } } return ret; } } What we want to do is have two different panels like this: public class PersonFormPanel extends BaseFormPanel implements PersonResources public class PersonOtherPanel extends BaseOtherPanel implements PersonResources and given public interface PersonResources implements IResourceProvider and a file PersonResources.utf8.properties we want that the two panels share the resources declared in PersonResources.utf8.properties. Do you see any problems with this idea/implementation? Thanks in advance! Marios