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
public class ReusableObjectMessage extends Object implements ReusableMessage, ParameterVisitable
Mutable Message wrapper around an Object message.- Since:
- 2.6
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description ReusableObjectMessage()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclear()<S> voidforEachParameter(ParameterConsumer<S> action, S state)Performs the given action for each parameter until all values have been processed or the action throws an exception.voidformatTo(StringBuilder buffer)Writes a text representation of this object into the specifiedStringBuilder, ideally without allocating temporary objects.StringgetFormat()Returns the object formatted using its toString method.StringgetFormattedMessage()Returns the formatted object message.ObjectgetParameter()Returns the object parameter.shortgetParameterCount()This message has exactly one parameter (the object), so always returns one.Object[]getParameters()Returns the object as if it were a parameter.ThrowablegetThrowable()Gets the message if it is a throwable.Messagememento()Returns an immutable snapshot of the current internal state of this reusable message.voidset(Object object)Object[]swapParameters(Object[] emptyReplacement)This message has exactly one parameter (the object), so returns it as the first parameter in the array.StringtoString()
-
-
-
Method Detail
-
set
public void set(Object object)
-
getFormattedMessage
public String getFormattedMessage()
Returns the formatted object message.- Specified by:
getFormattedMessagein interfaceMessage- Returns:
- the formatted object message.
-
formatTo
public void formatTo(StringBuilder buffer)
Description copied from interface:StringBuilderFormattableWrites a text representation of this object into the specifiedStringBuilder, ideally without allocating temporary objects.- Specified by:
formatToin interfaceStringBuilderFormattable- Parameters:
buffer- the StringBuilder to write into
-
getFormat
public String getFormat()
Returns the object formatted using its toString method.
-
getParameter
public Object getParameter()
Returns the object parameter.- Returns:
- The object.
- Since:
- 2.7
-
getParameters
public Object[] getParameters()
Returns the object as if it were a parameter.- Specified by:
getParametersin interfaceMessage- Returns:
- The object.
-
getThrowable
public Throwable getThrowable()
Gets the message if it is a throwable.- Specified by:
getThrowablein interfaceMessage- Returns:
- the message if it is a throwable.
-
swapParameters
public Object[] swapParameters(Object[] emptyReplacement)
This message has exactly one parameter (the object), so returns it as the first parameter in the array.- Specified by:
swapParametersin interfaceReusableMessage- Parameters:
emptyReplacement- the parameter array to return- Returns:
- the specified array
- See Also:
ReusableMessage.getParameterCount()
-
getParameterCount
public short getParameterCount()
This message has exactly one parameter (the object), so always returns one.- Specified by:
getParameterCountin interfaceReusableMessage- Returns:
- 1
-
forEachParameter
public <S> void forEachParameter(ParameterConsumer<S> action, S state)
Description copied from interface:ParameterVisitablePerforms 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:
forEachParameterin 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
public Message memento()
Description copied from interface:ReusableMessageReturns 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:
mementoin interfaceReusableMessage- Returns:
- an immutable snapshot of this message
-
clear
public void clear()
-
-