Improve LightDaoSupport
authorMathieu Baudier <mbaudier@argeo.org>
Tue, 13 Oct 2009 10:44:43 +0000 (10:44 +0000)
committerMathieu Baudier <mbaudier@argeo.org>
Tue, 13 Oct 2009 10:44:43 +0000 (10:44 +0000)
git-svn-id: https://svn.argeo.org/commons/trunk@3018 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

server/runtime/org.argeo.server.core/src/main/java/org/argeo/server/dao/LightDaoSupport.java
server/runtime/org.argeo.server.jxl/src/main/java/org/argeo/server/jxl/dao/JxlDaoSupport.java

index cc16d7bd30b7c0934c2c2c8a912cfd16a7e10412..fa5ce4187ab58678824b1a7903346c35764da62d 100644 (file)
@@ -8,4 +8,6 @@ public interface LightDaoSupport {
        public <T> T getByField(Class<T> clss, String field, Object value);
 
        public <T> List<T> list(Class<T> clss, Object filter);
+
+       public List<Class<?>> getSupportedClasses();
 }
index 7b4110d8e487e31428398d37ccc7791f4dca5092..015dc06be451661acf6b3739c48b9077f2a5d1f5 100644 (file)
@@ -35,6 +35,7 @@ public class JxlDaoSupport implements LightDaoSupport, ApplicationContextAware,
 
        private ClassLoader classLoader = getClass().getClassLoader();
        private ApplicationContext applicationContext;
+       private List<Class<?>> additionalClasses = new ArrayList<Class<?>>();
 
        private Map<Class<?>, Map<Object, Object>> model = new HashMap<Class<?>, Map<Object, Object>>();
 
@@ -74,6 +75,13 @@ public class JxlDaoSupport implements LightDaoSupport, ApplicationContextAware,
                        log.debug(references.size() + " references linked");
        }
 
+       public List<Class<?>> getSupportedClasses() {
+               List<Class<?>> res = new ArrayList<Class<?>>();
+               res.addAll(additionalClasses);
+               res.addAll(model.keySet());
+               return res;
+       }
+
        public void load(InputStream in, List<Reference> references,
                        Map<String, List<Object>> tempRefs) {
                try {