Class FieldSetter

java.lang.Object
org.jboss.marshalling.FieldSetter

public final class FieldSetter extends Object
A setter for a (possibly final) field, which allows for correct object initialization of Serializable objects with readObject() methods, even in the presence of final fields.
  • Field Details

    • field

      private final Field field
  • Constructor Details

    • FieldSetter

      private FieldSetter(Field field)
  • Method Details

    • set

      public void set(Object instance, Object value) throws IllegalArgumentException
      Set the value of the field to the given object.
      Parameters:
      instance - the instance to set
      value - the new value
      Throws:
      IllegalArgumentException - if the given instance is null or not of the correct class
    • setBoolean

      public void setBoolean(Object instance, boolean value) throws IllegalArgumentException
      Set the value of the field to the given value.
      Parameters:
      instance - the instance to set
      value - the new value
      Throws:
      IllegalArgumentException - if the given instance is null or not of the correct class
    • setByte

      public void setByte(Object instance, byte value) throws IllegalArgumentException
      Set the value of the field to the given value.
      Parameters:
      instance - the instance to set
      value - the new value
      Throws:
      IllegalArgumentException - if the given instance is null or not of the correct class
    • setChar

      public void setChar(Object instance, char value) throws IllegalArgumentException
      Set the value of the field to the given value.
      Parameters:
      instance - the instance to set
      value - the new value
      Throws:
      IllegalArgumentException - if the given instance is null or not of the correct class
    • setDouble

      public void setDouble(Object instance, double value) throws IllegalArgumentException
      Set the value of the field to the given value.
      Parameters:
      instance - the instance to set
      value - the new value
      Throws:
      IllegalArgumentException - if the given instance is null or not of the correct class
    • setFloat

      public void setFloat(Object instance, float value) throws IllegalArgumentException
      Set the value of the field to the given value.
      Parameters:
      instance - the instance to set
      value - the new value
      Throws:
      IllegalArgumentException - if the given instance is null or not of the correct class
    • setInt

      public void setInt(Object instance, int value) throws IllegalArgumentException
      Set the value of the field to the given value.
      Parameters:
      instance - the instance to set
      value - the new value
      Throws:
      IllegalArgumentException - if the given instance is null or not of the correct class
    • setLong

      public void setLong(Object instance, long value) throws IllegalArgumentException
      Set the value of the field to the given value.
      Parameters:
      instance - the instance to set
      value - the new value
      Throws:
      IllegalArgumentException - if the given instance is null or not of the correct class
    • setShort

      public void setShort(Object instance, short value) throws IllegalArgumentException
      Set the value of the field to the given value.
      Parameters:
      instance - the instance to set
      value - the new value
      Throws:
      IllegalArgumentException - if the given instance is null or not of the correct class
    • illegalState

    • get

      public static FieldSetter get(Class<?> clazz, String name) throws SecurityException, IllegalArgumentException
      Get an instance for the current class.
      Parameters:
      clazz - the class containing the field
      name - the name of the field
      Returns:
      the Field instance
      Throws:
      SecurityException - if the field does not belong to the caller's class, or the field is static
      IllegalArgumentException - if there is no field of the given name on the given class