1 package org.ximtec.igesture.storage;
2
3 import java.util.ArrayList;
4 import java.util.List;
5
6 import org.ximtec.igesture.core.DataObject;
7 import org.ximtec.igesture.util.ReflectTools;
8
9 public abstract class DefaultStorageEngine implements StorageEngine {
10
11
12
13
14
15 @Override
16 public <T extends DataObject> List<T> load(Class<T> clazz, String fieldName, Object value) {
17 List<T> result = new ArrayList<T>();
18 for (T dataObject : load(clazz)) {
19 if (value == null) {
20 if (ReflectTools.getFieldValue(dataObject, fieldName) == null) {
21 result.add(dataObject);
22 }
23 } else {
24 if (value.equals(ReflectTools.getFieldValue(dataObject,
25 fieldName))) {
26 result.add(dataObject);
27 }
28 }
29 }
30 return result;
31 }
32
33 }