Package org.apache.logging.log4j.message
Class ReusableObjectMessage
java.lang.Object
org.apache.logging.log4j.message.ReusableObjectMessage
- All Implemented Interfaces:
Serializable
,Message
,ParameterVisitable
,ReusableMessage
,StringBuilderFormattable
Mutable Message wrapper around an Object message.
- Since:
- 2.6
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
clear()
<S> void
forEachParameter
(ParameterConsumer<S> action, S state) Performs the given action for each parameter until all values have been processed or the action throws an exception.void
formatTo
(StringBuilder buffer) Writes a text representation of this object into the specifiedStringBuilder
, ideally without allocating temporary objects.Returns the object formatted using its toString method.Returns the formatted object message.Returns the object parameter.short
This message has exactly one parameter (the object), so always returns one.Object[]
Returns the object as if it were a parameter.Gets the message if it is a throwable.memento()
Returns an immutable snapshot of the current internal state of this reusable message.void
Object[]
swapParameters
(Object[] emptyReplacement) This message has exactly one parameter (the object), so returns it as the first parameter in the array.toString()
-
Constructor Details
-
ReusableObjectMessage
public ReusableObjectMessage()
-
-
Method Details
-
set
-
getFormattedMessage
Returns the formatted object message.- Specified by:
getFormattedMessage
in interfaceMessage
- Returns:
- the formatted object message.
-
formatTo
Description copied from interface:StringBuilderFormattable
Writes a text representation of this object into the specifiedStringBuilder
, ideally without allocating temporary objects.- Specified by:
formatTo
in interfaceStringBuilderFormattable
- Parameters:
buffer
- the StringBuilder to write into
-
getFormat
Returns the object formatted using its toString method. -
getParameter
Returns the object parameter.- Returns:
- The object.
- Since:
- 2.7
-
getParameters
Returns the object as if it were a parameter.- Specified by:
getParameters
in interfaceMessage
- Returns:
- The object.
-
toString
-
getThrowable
Gets the message if it is a throwable.- Specified by:
getThrowable
in interfaceMessage
- Returns:
- the message if it is a throwable.
-
swapParameters
This message has exactly one parameter (the object), so returns it as the first parameter in the array.- Specified by:
swapParameters
in interfaceReusableMessage
- Parameters:
emptyReplacement
- the parameter array to return- Returns:
- the specified array
- See Also:
-
getParameterCount
public short getParameterCount()This message has exactly one parameter (the object), so always returns one.- Specified by:
getParameterCount
in interfaceReusableMessage
- Returns:
- 1
-
forEachParameter
Description copied from interface:ParameterVisitable
Performs the given action for each parameter until all values have been processed or the action throws an exception.The second parameter lets callers pass in a stateful object to be modified with the key-value pairs, so the TriConsumer implementation itself can be stateless and potentially reusable.
- Specified by:
forEachParameter
in interfaceParameterVisitable
- Type Parameters:
S
- type of the third parameter- Parameters:
action
- The action to be performed for each key-value pair in this collectionstate
- the object to be passed as the third parameter to each invocation on the specified ParameterConsumer.
-
memento
Description copied from interface:ReusableMessage
Returns an immutable snapshot of the current internal state of this reusable message. The returned snapshot will not be affected by subsequent modifications of this reusable message.- Specified by:
memento
in interfaceReusableMessage
- Returns:
- an immutable snapshot of this message
-
clear
public void clear()- Since:
- 2.11.1
-