List of usage examples for com.badlogic.gdx.utils.reflect Field set
public void set(Object obj, Object value) throws ReflectionException
From source file:com.dongbat.game.registry.ReflectionUtil.java
/** * Set object value for declared field//from w w w . j a v a 2 s.co m * * @param clazz class name * @param fieldName field name * @param obj object type * @param value field value */ static void setFieldValue(Class clazz, String fieldName, Object obj, Object value) { try { Field field = ClassReflection.getDeclaredField(clazz, fieldName); field.setAccessible(true); Class type = field.getType(); field.set(obj, value); } catch (ReflectionException ex) { Logger.getLogger(ReflectionUtil.class.getName()).log(Level.SEVERE, null, ex); } }
From source file:com.dongbat.invasion.registry.ReflectionUtil.java
static void setFieldValue(Class clazz, String fieldName, Object obj, String value) { try {//from w w w . j av a2s . c o m Field field = ClassReflection.getDeclaredField(clazz, fieldName); field.setAccessible(true); Class type = field.getType(); if (type.equals(float.class)) { field.set(obj, Float.parseFloat(value)); } else if (type.equals(int.class)) { field.set(obj, Integer.parseInt(value)); } else if (type.equals(boolean.class)) { field.set(obj, Boolean.parseBoolean(value)); } else { field.set(obj, value); } } catch (ReflectionException ex) { Logger.getLogger(EnemyRegistry.class.getName()).log(Level.SEVERE, null, ex); } }
From source file:com.dongbat.game.registry.ReflectionUtil.java
/** * Set value for declared field Field data type is String, float, int, long, * boolean//from w w w . j a va2 s . c om * * @param clazz class name * @param fieldName field name * @param obj object type * @param value field value */ static void setFieldValue(Class clazz, String fieldName, Object obj, String value) { try { Field field = ClassReflection.getDeclaredField(clazz, fieldName); field.setAccessible(true); Class type = field.getType(); if (type.equals(float.class)) { field.set(obj, Float.parseFloat(value)); } else if (type.equals(int.class)) { field.set(obj, Integer.parseInt(value)); } else if (type.equals(long.class)) { field.set(obj, Long.parseLong(value)); } else if (type.equals(boolean.class)) { field.set(obj, Boolean.parseBoolean(value)); } else { field.set(obj, value); } } catch (ReflectionException ex) { Logger.getLogger(ReflectionUtil.class.getName()).log(Level.SEVERE, null, ex); } }
From source file:es.eucm.utils.apache.commons.lang3.JsonEscapeUtils.java
License:Open Source License
private static void escapeOrUnescape(Object objectToEscape, Class type, boolean escape) { if (objectToEscape == null) { return;/*from w w w.j a va 2s. c o m*/ } if (type == null) { type = objectToEscape.getClass(); } // If the objectToEscape is from primitive type, do not search if (type.isEnum() || type == Float.class || type == Double.class || type == Boolean.class || type == Integer.class || type == Byte.class || type == Character.class || type == Long.class || type == Short.class || type == String.class) { return; } // Iterate through fields for (Field field : ClassReflection.getDeclaredFields(type)) { field.setAccessible(true); Object value = null; try { value = field.get(objectToEscape); } catch (ReflectionException e) { e.printStackTrace(); } if (value == null) { continue; } // String field if (ClassReflection.isAssignableFrom(String.class, field.getType())) { try { field.set(objectToEscape, escapeOrUnescapeJsonString((String) value, escape)); } catch (ReflectionException e) { e.printStackTrace(); } } // Recursive search: array, list, map, else if (ClassReflection.isArray(field.getType())) { int length = java.lang.reflect.Array.getLength(value); for (int i = 0; i < length; i++) { Object child = java.lang.reflect.Array.get(value, i); if (child == null) { continue; } if (child.getClass() == String.class) { java.lang.reflect.Array.set(value, i, escapeOrUnescapeJsonString((String) child, escape)); } else { escapeOrUnescape(child, child.getClass(), escape); } } } else if (ClassReflection.isAssignableFrom(Array.class, field.getType())) { Array array = (Array) value; for (int i = 0; i < array.size; i++) { Object child = array.get(i); if (child == null) { continue; } if (child.getClass() == String.class) { array.set(i, escapeOrUnescapeJsonString((String) child, escape)); } else { escapeOrUnescape(child, child.getClass(), escape); } } } else if (ClassReflection.isAssignableFrom(List.class, field.getType())) { List list = (List) value; for (int i = 0; i < list.size(); i++) { Object child = list.get(i); if (child == null) { continue; } if (child.getClass() == String.class) { list.set(i, escapeOrUnescapeJsonString((String) child, escape)); } else { escapeOrUnescape(child, child.getClass(), escape); } } } else if (ClassReflection.isAssignableFrom(Map.class, field.getType())) { Map map = (Map) value; for (Object key : map.keySet()) { Object child = map.get(key); if (child == null) { continue; } if (child.getClass() == String.class) { map.put(key, escapeOrUnescapeJsonString((String) child, escape)); } else { escapeOrUnescape(child, child.getClass(), escape); } } } // Recursive search else { escapeOrUnescape(value, value.getClass(), escape); } } if (type.getSuperclass() != null) { escapeOrUnescape(objectToEscape, type.getSuperclass(), escape); } }
From source file:com.github.antag99.retinazer.resolvers.DefaultWireResolver.java
License:Open Source License
@Override @SuppressWarnings("unchecked") public boolean wire(Engine engine, Object object, Field field) throws Throwable { Class<?> type = field.getType(); if (type == Engine.class) { field.set(object, engine); } else if (ClassReflection.isAssignableFrom(EntitySystem.class, type)) { field.set(object, engine.getSystem((Class<? extends EntitySystem>) type)); } else {//from ww w . java 2 s. c o m return false; } return true; }
From source file:com.github.antag99.retinazer.resolvers.MapperWireResolver.java
License:Open Source License
@Override public boolean wire(Engine engine, Object object, Field field) throws Throwable { Class<? extends Component> type = getType(field); if (type != null) { field.set(object, engine.getMapper(type)); return true; }//from www .j a v a2 s . c o m return false; }
From source file:com.github.antag99.spacelone.util.DependencyResolver.java
License:Open Source License
@Override public boolean wire(Engine engine, Object object, Field field) throws Throwable { Object dependency = dependenciesByType.get(field.getType()); if (dependency != null) { field.set(object, dependency); return true; }/*from ww w . jav a 2 s . com*/ return false; }
From source file:com.github.antag99.spacelone.util.DependencyResolver.java
License:Open Source License
@Override public boolean unwire(Engine engine, Object object, Field field) throws Throwable { Object dependency = dependenciesByType.get(field.getType()); if (dependency != null) { field.set(object, null); return true; }/*from w w w .j a v a 2s . co m*/ return false; }
From source file:com.algodal.gdxscreen.utils.GdxPrefs.java
License:Apache License
private GdxDebug.Operation<Void> setValue(Field field, Object value) { return new Operation<Void>() { @Override/*w w w .j a v a 2 s .c o m*/ public Void resultOf() throws Exception { field.set(object, value); return null; } }; }
From source file:com.algodal.gdxscreen.utils.GdxPrefs.java
License:Apache License
private GdxDebug.Operation<Void> setStringValueFromCharacter(Field field, String value) { return new Operation<Void>() { @Override//from ww w .jav a 2 s. c o m public Void resultOf() throws Exception { if (field.getType().equals(Character.class) || field.getType().equals(char.class)) { Character c = (value == null) ? 0 : value.toCharArray()[0]; field.set(object, c); } else if (field.getType().equals(Byte.class) || field.getType().equals(byte.class)) { Byte b = (value == null) ? 0 : value.getBytes()[0]; field.set(object, b); } return null; } }; }