- @SuppressWarnings("unchecked")
- public <T> T getByKey(Class<T> clss, Object key) {
- return (T) model.get(findClass(clss)).get(key);
- }
-
- @SuppressWarnings("unchecked")
- public <T> List<T> list(Class<T> clss, Object filter) {
- return new ArrayList<T>((Collection<T>) model.get(findClass(clss))
- .values());
- }
-
- @SuppressWarnings("unchecked")
- protected Class findClass(Class parent) {
- if (model.containsKey(parent))
- return parent;
-
- for (Class clss : model.keySet()) {
- if (parent.isAssignableFrom(clss))
- return clss;// return the first found
- }
- throw new ArgeoServerException("No implementing class found for "
- + parent);
- }
-
- public void setApplicationContext(ApplicationContext applicationContext)
- throws BeansException {
- this.applicationContext = applicationContext;
- }
-
- public void setExternalRefs(Map<String, Object> externalRefs) {
- this.externalRefs = externalRefs;
- }
-
- public Map<String, Object> getExternalRefs() {
- return externalRefs;
- }
-
- public void setScannedPackages(List<String> scannedPackages) {
- this.scannedPackages = scannedPackages;
- }
-
- public List<String> getScannedPackages() {
- return scannedPackages;
- }
-
- public void setWorkbooks(List<Resource> workbooks) {
- this.workbooks = workbooks;
- }
-
- public List<Resource> getWorkbooks() {
- return workbooks;
- }
-
- public void setClassLoader(ClassLoader classLoader) {
- this.classLoader = classLoader;
- }
-
- public static class Reference {
- private Object object;
- private String property;
- private String targetSheet;
- private Integer targetRow;
- private String externalRef;
-
- public Reference(Object object, String property, String targetSheet,
- Integer targetRow) {
- this.object = object;
- this.property = property;
- this.targetSheet = targetSheet;
- this.targetRow = targetRow;
- }
-
- public Reference(Object object, String property, String externalRef) {
- this.object = object;
- this.property = property;
- this.externalRef = externalRef;
- }
-
- public Object getObject() {
- return object;
- }
-
- public String getProperty() {
- return property;
- }
-
- public String getTargetSheet() {
- return targetSheet;
- }
-
- public Integer getTargetRow() {
- return targetRow;
- }
-
- public String getExternalRef() {
- return externalRef;
- }
-