Class SerializableValueDescription

java.lang.Object
org.junit.internal.SerializableValueDescription
All Implemented Interfaces:
Serializable

class SerializableValueDescription extends Object implements Serializable
This class exists solely to provide a serializable description of a value to be serialized as a field in AssumptionViolatedException. Being a Throwable, it is required to be Serializable, but a value of type Object provides no guarantee to be serializable. This class works around that limitation as AssumptionViolatedException only every uses the string representation of the value, while still retaining backwards compatibility with classes compiled against its class signature before 4.14 and/or deserialization of previously serialized instances.
  • Field Details

    • value

      private final String value
  • Constructor Details

    • SerializableValueDescription

      private SerializableValueDescription(Object value)
  • Method Details

    • asSerializableValue

      static Object asSerializableValue(Object value)
      Factory method that checks to see if the value is already serializable.
      Parameters:
      value - the value to make serializable
      Returns:
      The provided value if it is null or already serializable, the SerializableValueDescription representation of it if it is not.
    • toString

      public String toString()
      Overrides:
      toString in class Object