- Timestamp:
- 06/22/13 21:51:33 (11 years ago)
- Location:
- java/main
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
java/main
-
Property
svn:ignore
set to
target
-
Property
svn:ignore
set to
-
java/main/src/main/java/com/framsticks/params/ReflectionAccess.java
r78 r84 4 4 import java.lang.reflect.InvocationTargetException; 5 5 import java.lang.reflect.Modifier; 6 import java.lang.reflect.Type;7 import java.util.List;8 6 9 import com.framsticks.params.types.ListParam;10 7 import org.apache.log4j.Logger; 8 9 import com.framsticks.util.lang.Containers; 11 10 12 11 13 12 /** 14 13 * The Class ReflectionAccess. Stores data in provided object using reflection. 15 * 14 * 16 15 * @author Mateusz Jarus <name.surname@gmail.com> (please replace name and 17 16 * surname with my personal data) … … 20 19 */ 21 20 public class ReflectionAccess extends SimpleAbstractAccess { 22 private final static Logger LOGGER = Logger.getLogger(ReflectionAccess.class 23 .getName()); 21 private final static Logger log = Logger.getLogger(ReflectionAccess.class.getName()); 24 22 25 26 protected final Class reflectedClass; 23 protected final Class<?> reflectedClass; 27 24 private Object object; 28 25 29 public ReflectionAccess(Class reflectedClass, FramsClass framsClass) {30 26 public ReflectionAccess(Class<?> reflectedClass, FramsClass framsClass) { 27 this.reflectedClass = reflectedClass; 31 28 setFramsClass(framsClass); 32 29 } … … 37 34 38 35 @Override 39 public <T> T get( Param param, Class<T> type) {36 public <T> T get(ValueParam param, Class<T> type) { 40 37 if (object == null) { 41 38 return null; … … 54 51 } catch (InvocationTargetException e) { 55 52 //e.printStackTrace(); 56 53 } 57 54 58 55 } catch (IllegalAccessException ex) { 59 LOGGER.warn("illegal access error occurred while trying to access returnedObject");56 log.warn("illegal access error occurred while trying to access returnedObject"); 60 57 ex.printStackTrace(); 61 58 } catch (ClassCastException ignored) { 62 59 63 60 } 64 61 return null; 65 62 } 66 63 67 64 @Override 68 protected <T> void internalSet( Param param, T value) {65 protected <T> void internalSet(ValueParam param, T value) { 69 66 setValue(param, value); 70 67 } 71 68 72 private <T> void setValue( Param param, T value) {69 private <T> void setValue(ValueParam param, T value) { 73 70 if (object == null) { 74 71 return; 75 72 } 76 73 try { 77 74 String id = param.getId(); 78 75 try { 79 76 Field f = reflectedClass.getField(id); 80 Class t = f.getType();77 Class<?> t = f.getType(); 81 78 if (Modifier.isFinal(f.getModifiers())) { 82 79 return; … … 111 108 112 109 try { 113 for ( Param p : framsClass.getParamEntries()) {110 for (ValueParam p : Containers.filterInstanceof(framsClass.getParamEntries(), ValueParam.class)) { 114 111 setValue(p, p.getDef(Object.class)); 115 112 } … … 121 118 /** 122 119 * Sets the new object to operate on. 123 * 120 * 124 121 * @param object 125 122 * new object to operate on 126 123 */ 127 124 @Override 128 public voidselect(Object object) {125 public ReflectionAccess select(Object object) { 129 126 assert object == null || reflectedClass.isInstance(object); 130 127 this.object = object; 128 return this; 131 129 } 132 130 … … 159 157 } 160 158 161 162 163 164 165 166 167 168 169 170 LOGGER.fatal("failed to create reflected object of class " + reflectedClass.getCanonicalName() + " for frams type " + framsClass.getId());171 172 159 @Override 160 public Object createAccessee() { 161 try { 162 return reflectedClass.newInstance(); 163 } catch (InstantiationException e) { 164 e.printStackTrace(); 165 } catch (IllegalAccessException e) { 166 e.printStackTrace(); 167 } 168 log.fatal("failed to create reflected object of class " + reflectedClass.getCanonicalName() + " for frams type " + framsClass.getId()); 169 return null; 170 } 173 171 }
Note: See TracChangeset
for help on using the changeset viewer.