Java Reflection Field Set setFieldHelper(Object o, String name, Object v)

Here you can find the source of setFieldHelper(Object o, String name, Object v)

Description

set Field Helper

License

Open Source License

Declaration

public static boolean setFieldHelper(Object o, String name, Object v) 

Method Source Code

//package com.java2s;
/*/*from w  ww  . j ava 2  s  . co  m*/
 * This file is part of jxpl.
 *
 * jxpl is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * jxpl is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with jxpl.  If not, see <http://www.gnu.org/licenses/>.
 */

import java.lang.reflect.Field;

public class Main {
    public static boolean setFieldHelper(Object o, String name, Object v) {
        try {
            Class c = o.getClass();
            Field f = null;
            while (f == null) {
                if (c != null) {
                    try {
                        f = c.getDeclaredField(name);
                    } catch (Throwable t) {
                        c = c.getSuperclass();
                    }
                }
            }
            if (f != null) {
                f.setAccessible(true);
                f.set(o, v);
                return true;
            }
        } catch (Throwable t) {
        }
        return false;
    }
}

Related

  1. setFieldAccessible(Field field)
  2. setFieldBySomeMethod(List setMethods, Object object, Object value)
  3. setFieldContent(final Object obj, final String name, final Object value)
  4. setFieldEditable(Class clazz, String fieldName)
  5. setFieldForAnnotation(Object target, Class annotation, Object value)
  6. setFieldIfExists(final Object instance, final String fieldName, final Object value)
  7. setFieldObject(Class clazz, String field, Object object, Object newObj)
  8. setFieldObject(Class target, Object targetObject, String fieldName, Object object)
  9. setFieldObjectValue(Class targetClass, Object target, String fieldName, Object value)