Class ValueWrapper
- java.lang.Object
-
- org.opentest4j.ValueWrapper
-
- All Implemented Interfaces:
Serializable
public final class ValueWrapper extends Object implements Serializable
Serializable representation of a value that was used in an assertion.This class only stores the value if it implements
Serializable
. In any case, it stores its runtime type, identity hash code, and string representation determined viaString.valueOf(Object)
. If the invocation ofString.valueOf(Object)
throws anException
, the string representation will take the form of"<Exception in toString(): " + e + ">"
, where "e" is the caught exception.The
toString()
method returns the string representation of the value along with its type and identity hash code.- Since:
- 1.0
- Author:
- Marc Philipp, Sam Brannen
- See Also:
System.identityHashCode(java.lang.Object)
, Serialized Form
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static ValueWrapper
create(Object value)
Factory for creating a newValueWrapper
for the suppliedvalue
.static ValueWrapper
create(Object value, String stringRepresentation)
Factory for creating a newValueWrapper
for the suppliedvalue
using the supplied customstringRepresentation
.Object
getEphemeralValue()
Returns the original value supplied tocreate()
.int
getIdentityHashCode()
Returns the value's identity hash code.String
getStringRepresentation()
Returns the value's string representation.Class<?>
getType()
Returns the value's runtime type ornull
if the value isnull
.Serializable
getValue()
String
toString()
Returns the value's string representation along with its type and identity hash code.
-
-
-
Method Detail
-
create
public static ValueWrapper create(Object value)
Factory for creating a newValueWrapper
for the suppliedvalue
.If the supplied
value
isnull
, this method will return a cachedValueWrapper
suitable for allnull
values. If the suppliedvalue
is already an instance ofValueWrapper
, it will be returned as is.- Parameters:
value
- the value to wrap; may benull
- Returns:
- a wrapper for the supplied value; never
null
-
create
public static ValueWrapper create(Object value, String stringRepresentation)
Factory for creating a newValueWrapper
for the suppliedvalue
using the supplied customstringRepresentation
.You should use this method when you don't want to rely on the result of the value's
toString()
method.If the supplied
value
isnull
, this method will return a cachedValueWrapper
suitable for allnull
values. If the suppliedvalue
is already an instance ofValueWrapper
, it will be returned as is if thestringRepresentation
match, otherwise the original value will be unwrapped and a newValueWrapper
with the newstringRepresentation
will be created.- Parameters:
value
- the value to wrap; may benull
stringRepresentation
- a custom rendering of the value; will fallback to the default behavior ifnull
- Returns:
- a wrapper for the supplied value; never
null
- Since:
- 1.2
-
getValue
public Serializable getValue()
- See Also:
getEphemeralValue()
-
getType
public Class<?> getType()
Returns the value's runtime type ornull
if the value isnull
.
-
getStringRepresentation
public String getStringRepresentation()
Returns the value's string representation.The string representation is generated by invoking
String.valueOf(value)
for the value supplied tocreate(Object)
.- See Also:
getValue()
-
getIdentityHashCode
public int getIdentityHashCode()
Returns the value's identity hash code.The identity hash code is generated by invoking
System.identityHashCode(value)
for the value supplied tocreate(Object)
.- See Also:
getValue()
-
getEphemeralValue
public Object getEphemeralValue()
Returns the original value supplied tocreate()
.If this
ValueWrapper
was created by deserialization this method returnsnull
.- Since:
- 1.2
- See Also:
getValue()
-
-