Java Reflection Field Set setField(final Object obj, final String name, final Object value)

Here you can find the source of setField(final Object obj, final String name, final Object value)

Description

Set a (final) field during deserialization.

License

Apache License

Declaration

public static void setField(final Object obj, final String name, final Object value) throws IOException 

Method Source Code


//package com.java2s;
/*//  w ww .  j  av  a 2 s.com
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF 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.io.IOException;

import java.lang.reflect.Field;

public class Main {
    /**
     * Set a (final) field during deserialization.
     */
    public static void setField(final Object obj, final String name, final Object value) throws IOException {
        try {
            final Field field = obj.getClass().getDeclaredField(name);
            if (field == null) {
                throw new IOException("Field " + name + " not found in class " + obj.getClass());
            }
            field.setAccessible(true);
            field.set(obj, value);
        } catch (final SecurityException e) {
            throw (IOException) new IOException().initCause(e);
        } catch (final NoSuchFieldException e) {
            throw (IOException) new IOException().initCause(e);
        } catch (final IllegalArgumentException e) {
            throw (IOException) new IOException().initCause(e);
        } catch (final IllegalAccessException e) {
            throw (IOException) new IOException().initCause(e);
        }
    }
}

Related

  1. setField(final Field field, final Object object, final Object value)
  2. setField(final O object, final String fieldName, final V value)
  3. setField(final Object instance, final String fieldName, final T value)
  4. setField(final Object obj, final String fieldName, final int value)
  5. setField(final Object obj, final String fieldName, final Object value)
  6. setField(final Object obj, final String variableName, final Object variableValue)
  7. setField(final Object object, final String name, final Object value)
  8. setField(final Object parent, final String name, final Object obj)
  9. setField(java.lang.Object toObj, String tcFieldName, java.lang.Object toNewValue)