View Javadoc

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     * (non-Javadoc)
13     * @see org.ximtec.igesture.storage.StorageEngine#load(java.lang.Class, java.lang.String, java.lang.Object)
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  }