Java Reflection Field Value Set setFieldValue(Object host, Field f, Object value)

Here you can find the source of setFieldValue(Object host, Field f, Object value)

Description

set Field Value

License

Apache License

Declaration

public static final void setFieldValue(Object host, Field f, Object value) 

Method Source Code

//package com.java2s;
/**/*from w w w  .  j a v  a 2s .  c  o m*/
 * FieldUtil.java
 *
 * Copyright 2011 Niolex, Inc.
 *
 * Niolex licenses this file to you under the Apache License, version 2.0
 * (the "License"); you may not use this file except in compliance with the
 * License.  You may obtain a copy of the License at:
 *
 *    http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
 * License for the specific language governing permissions and limitations
 * under the License.
 */

import java.lang.reflect.Field;

public class Main {

    public static final void setFieldValue(Object host, Field f, Object value) {
        f.setAccessible(true);
        unsafeSetFieldValue(host, f, value);
    }

    public static final void setFieldValue(Object host, Field f, boolean value)
            throws IllegalArgumentException, IllegalAccessException {
        f.setAccessible(true);
        f.setBoolean(host, value);
    }

    public static final void setFieldValue(Object host, Field f, byte value)
            throws IllegalArgumentException, IllegalAccessException {
        f.setAccessible(true);
        f.setByte(host, value);
    }

    public static final void setFieldValue(Object host, Field f, char value)
            throws IllegalArgumentException, IllegalAccessException {
        f.setAccessible(true);
        f.setChar(host, value);
    }

    public static final void setFieldValue(Object host, Field f, double value)
            throws IllegalArgumentException, IllegalAccessException {
        f.setAccessible(true);
        f.setDouble(host, value);
    }

    public static final void setFieldValue(Object host, Field f, float value)
            throws IllegalArgumentException, IllegalAccessException {
        f.setAccessible(true);
        f.setFloat(host, value);
    }

    public static final void setFieldValue(Object host, Field f, int value)
            throws IllegalArgumentException, IllegalAccessException {
        f.setAccessible(true);
        f.setInt(host, value);
    }

    public static final void setFieldValue(Object host, Field f, long value)
            throws IllegalArgumentException, IllegalAccessException {
        f.setAccessible(true);
        f.setLong(host, value);
    }

    public static final void setFieldValue(Object host, Field f, short value)
            throws IllegalArgumentException, IllegalAccessException {
        f.setAccessible(true);
        f.setShort(host, value);
    }

    public static final void unsafeSetFieldValue(Object host, Field f, Object value) {
        try {
            f.set(host, value);
        } catch (IllegalAccessException e) {
            throw new IllegalStateException("Failed to access the field.", e);
        }
    }
}

Related

  1. setFieldValue(final Object object, final String fieldName, final Object value)
  2. setFieldValue(Map map, Class cls)
  3. setFieldValue(Object bean, Field field, Object value)
  4. setFieldValue(Object bean, Field field, Object value)
  5. setFieldValue(Object bean, String field, Object value)
  6. setFieldValue(Object input, Object value, String fieldName)
  7. setFieldValue(Object instance, Field field, Object value)
  8. setFieldValue(Object instanceContainingField, String fieldName, Object fieldValue)
  9. setFieldValue(Object o, Class baseClass, Class fieldType, T value)