Example usage for com.badlogic.gdx.utils.reflect Field set

List of usage examples for com.badlogic.gdx.utils.reflect Field set

Introduction

In this page you can find the example usage for com.badlogic.gdx.utils.reflect Field set.

Prototype

public void set(Object obj, Object value) throws ReflectionException 

Source Link

Document

Sets the value of the field on the supplied object.

Usage

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;
        }
    };
}