Package org.assertj.core.presentation
Class StandardRepresentation
- java.lang.Object
-
- org.assertj.core.presentation.StandardRepresentation
-
- All Implemented Interfaces:
Representation
- Direct Known Subclasses:
BinaryRepresentation,HexadecimalRepresentation,UnicodeRepresentation
public class StandardRepresentation extends Object implements Representation
Standard java object representation.- Author:
- Mariusz Smykula
-
-
Field Summary
Fields Modifier and Type Field Description private static Map<Class<?>,Function<?,String>>customFormatterByTypeprivate static StringDEFAULT_ENDprivate static StringDEFAULT_MAX_ELEMENTS_EXCEEDEDprivate static StringDEFAULT_STARTstatic StringELEMENT_SEPARATORstatic StringELEMENT_SEPARATOR_WITH_NEWLINE(package private) static StringINDENTATION_AFTER_NEWLINE(package private) static StringINDENTATION_FOR_SINGLE_LINEprivate static intmaxElementsForPrintingprivate static intmaxLengthForSingleLineDescriptionprivate static StringNULLstatic StandardRepresentationSTANDARD_REPRESENTATIONprivate static StringTUPLE_ENDprivate static StringTUPLE_START
-
Constructor Summary
Constructors Constructor Description StandardRepresentation()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected <T> StringcustomFormat(T object)private static booleandoesDescriptionFitOnSingleLine(String singleLineDescription)protected StringfallbackToStringOf(Object object)Returns theStringrepresentation of the given object.Stringformat(Iterable<?> iterable, String start, String end, String elementSeparator, String indentation)protected Stringformat(Object[] array, String elementSeparator, String indentation, Set<Object[]> alreadyFormatted)private Stringformat(Map<?,?> map, Object o)protected StringformatArray(Object o)Returns theStringrepresentation of the given array, ornullif the given object is eithernullor not an array.private StringformatLines(List<?> lines)protected StringformatPrimitiveArray(Object o)static intgetMaxElementsForPrinting()static intgetMaxLengthForSingleLineDescription()protected booleanhasCustomFormatterFor(Object object)protected StringmultiLineFormat(Iterable<?> iterable)protected StringmultiLineFormat(Object[] iterable, Set<Object[]> alreadyFormatted)static <T> voidregisterFormatterForType(Class<T> type, Function<T,String> formatter)Registers new formatter for the given type.static voidremoveAllRegisteredFormatters()Clear all formatters registered per type withregisterFormatterForType(Class, Function).static voidresetDefaults()It resets the static defaults for the standard representation.static voidsetMaxElementsForPrinting(int value)static voidsetMaxLengthForSingleLineDescription(int value)protected StringsingleLineFormat(Iterable<?> iterable, String start, String end)protected StringsingleLineFormat(Object[] iterable, Set<Object[]> alreadyFormatted)protected StringsmartFormat(Iterable<?> iterable)Returns theStringrepresentation of the givenIterable, ornullif the givenIterableisnull.protected StringsmartFormat(Object[] iterable)private static Map<?,?>toSortedMapIfPossible(Map<?,?> map)StringtoString()protected StringtoStringOf(File file)protected StringtoStringOf(Character c)protected StringtoStringOf(Class<?> c)protected StringtoStringOf(Float f)protected StringtoStringOf(Long l)protected StringtoStringOf(Number number)StringtoStringOf(Object object)Returns standard thetoStringrepresentation of the given object.protected StringtoStringOf(String s)protected StringtoStringOf(SimpleDateFormat dateFormat)protected StringtoStringOf(Calendar c)protected StringtoStringOf(Comparator<?> comparator)protected StringtoStringOf(AtomicBoolean atomicBoolean)protected StringtoStringOf(AtomicInteger atomicInteger)protected StringtoStringOf(AtomicLong atomicLong)protected StringtoStringOf(AtomicMarkableReference<?> atomicMarkableReference)protected StringtoStringOf(AtomicReference<?> atomicReference)protected StringtoStringOf(AtomicStampedReference<?> atomicStampedReference)protected StringtoStringOf(CompletableFuture<?> future)protected StringtoStringOf(Date d)protected StringtoStringOf(Map<?,?> map)protected StringtoStringOf(MapEntry<?,?> mapEntry)protected StringtoStringOf(Tuple tuple)protected StringtoStringOf(ComparatorBasedComparisonStrategy comparatorBasedComparisonStrategy)protected StringtoStringOf(PredicateDescription p)private StringtoStringOf(ChangeDelta<?> changeDelta)private StringtoStringOf(DeleteDelta<?> deleteDelta)private StringtoStringOf(InsertDelta<?> insertDelta)StringunambiguousToStringOf(Object obj)Returns theStringrepresentation of the given object with its type and hexadecimal identity hash code so that it can be differentiated from other objects with the sameRepresentation.toStringOf(Object)representation.
-
-
-
Field Detail
-
STANDARD_REPRESENTATION
public static final StandardRepresentation STANDARD_REPRESENTATION
-
NULL
private static final String NULL
- See Also:
- Constant Field Values
-
TUPLE_START
private static final String TUPLE_START
- See Also:
- Constant Field Values
-
TUPLE_END
private static final String TUPLE_END
- See Also:
- Constant Field Values
-
DEFAULT_START
private static final String DEFAULT_START
- See Also:
- Constant Field Values
-
DEFAULT_END
private static final String DEFAULT_END
- See Also:
- Constant Field Values
-
DEFAULT_MAX_ELEMENTS_EXCEEDED
private static final String DEFAULT_MAX_ELEMENTS_EXCEEDED
- See Also:
- Constant Field Values
-
INDENTATION_AFTER_NEWLINE
static final String INDENTATION_AFTER_NEWLINE
- See Also:
- Constant Field Values
-
INDENTATION_FOR_SINGLE_LINE
static final String INDENTATION_FOR_SINGLE_LINE
- See Also:
- Constant Field Values
-
ELEMENT_SEPARATOR
public static final String ELEMENT_SEPARATOR
- See Also:
- Constant Field Values
-
ELEMENT_SEPARATOR_WITH_NEWLINE
public static final String ELEMENT_SEPARATOR_WITH_NEWLINE
-
maxLengthForSingleLineDescription
private static int maxLengthForSingleLineDescription
-
maxElementsForPrinting
private static int maxElementsForPrinting
-
-
Method Detail
-
resetDefaults
public static void resetDefaults()
-
setMaxLengthForSingleLineDescription
public static void setMaxLengthForSingleLineDescription(int value)
-
getMaxLengthForSingleLineDescription
public static int getMaxLengthForSingleLineDescription()
-
setMaxElementsForPrinting
public static void setMaxElementsForPrinting(int value)
-
getMaxElementsForPrinting
public static int getMaxElementsForPrinting()
-
registerFormatterForType
public static <T> void registerFormatterForType(Class<T> type, Function<T,String> formatter)
Registers new formatter for the given type. All instances of the given type will be formatted with the provided formatter.- Type Parameters:
T- the type to register a formatter for- Parameters:
type- the class of the type to register a formatter forformatter- the formatter
-
removeAllRegisteredFormatters
public static void removeAllRegisteredFormatters()
Clear all formatters registered per type withregisterFormatterForType(Class, Function).
-
toStringOf
public String toStringOf(Object object)
Returns standard thetoStringrepresentation of the given object. It may or not the object's own implementation oftoString.- Specified by:
toStringOfin interfaceRepresentation- Parameters:
object- the given object.- Returns:
- the
toStringrepresentation of the given object.
-
customFormat
protected <T> String customFormat(T object)
-
hasCustomFormatterFor
protected boolean hasCustomFormatterFor(Object object)
-
unambiguousToStringOf
public String unambiguousToStringOf(Object obj)
Description copied from interface:RepresentationReturns theStringrepresentation of the given object with its type and hexadecimal identity hash code so that it can be differentiated from other objects with the sameRepresentation.toStringOf(Object)representation.- Specified by:
unambiguousToStringOfin interfaceRepresentation- Parameters:
obj- the object to represent.- Returns:
- the unambiguous
toStringrepresentation of the given object.
-
fallbackToStringOf
protected String fallbackToStringOf(Object object)
Returns theStringrepresentation of the given object. This method is used as a last resort if none of theStandardRepresentationpredefined string representations were not called.- Parameters:
object- the object to represent (nevernull- Returns:
- to
toStringrepresentation for the given object
-
toStringOf
protected String toStringOf(AtomicBoolean atomicBoolean)
-
toStringOf
protected String toStringOf(AtomicInteger atomicInteger)
-
toStringOf
protected String toStringOf(AtomicLong atomicLong)
-
toStringOf
protected String toStringOf(Comparator<?> comparator)
-
toStringOf
protected String toStringOf(ComparatorBasedComparisonStrategy comparatorBasedComparisonStrategy)
-
toStringOf
protected String toStringOf(PredicateDescription p)
-
toStringOf
protected String toStringOf(SimpleDateFormat dateFormat)
-
toStringOf
protected String toStringOf(CompletableFuture<?> future)
-
toStringOf
protected String toStringOf(AtomicReference<?> atomicReference)
-
toStringOf
protected String toStringOf(AtomicMarkableReference<?> atomicMarkableReference)
-
toStringOf
protected String toStringOf(AtomicStampedReference<?> atomicStampedReference)
-
toStringOf
private String toStringOf(ChangeDelta<?> changeDelta)
-
toStringOf
private String toStringOf(DeleteDelta<?> deleteDelta)
-
toStringOf
private String toStringOf(InsertDelta<?> insertDelta)
-
formatArray
protected String formatArray(Object o)
Returns theStringrepresentation of the given array, ornullif the given object is eithernullor not an array. This method supports arrays having other arrays as elements.- Parameters:
o- the object that is expected to be an array.- Returns:
- the
Stringrepresentation of the given array.
-
multiLineFormat
protected String multiLineFormat(Object[] iterable, Set<Object[]> alreadyFormatted)
-
singleLineFormat
protected String singleLineFormat(Object[] iterable, Set<Object[]> alreadyFormatted)
-
format
protected String format(Object[] array, String elementSeparator, String indentation, Set<Object[]> alreadyFormatted)
-
format
public String format(Iterable<?> iterable, String start, String end, String elementSeparator, String indentation)
-
smartFormat
protected String smartFormat(Iterable<?> iterable)
Returns theStringrepresentation of the givenIterable, ornullif the givenIterableisnull.The
Iterablewill be formatted to a single line if it does not exceed 100 char, otherwise each elements will be formatted on a new line with 4 space indentation.- Parameters:
iterable- theIterableto format.- Returns:
- the
Stringrepresentation of the givenIterable.
-
doesDescriptionFitOnSingleLine
private static boolean doesDescriptionFitOnSingleLine(String singleLineDescription)
-
-