Package org.apache.logging.log4j.message
Class ReusableObjectMessage
- java.lang.Object
-
- org.apache.logging.log4j.message.ReusableObjectMessage
-
- All Implemented Interfaces:
java.io.Serializable,Message,ParameterVisitable,ReusableMessage,org.apache.logging.log4j.util.StringBuilderFormattable
public class ReusableObjectMessage extends java.lang.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(java.lang.StringBuilder buffer)java.lang.StringgetFormat()Returns the object formatted using its toString method.java.lang.StringgetFormattedMessage()Returns the formatted object message.java.lang.ObjectgetParameter()Returns the object parameter.shortgetParameterCount()This message has exactly one parameter (the object), so always returns one.java.lang.Object[]getParameters()Returns the object as if it were a parameter.java.lang.ThrowablegetThrowable()Gets the message if it is a throwable.Messagememento()Returns an immutable snapshot of the current internal state of this reusable message.voidset(java.lang.Object object)java.lang.Object[]swapParameters(java.lang.Object[] emptyReplacement)This message has exactly one parameter (the object), so returns it as the first parameter in the array.java.lang.StringtoString()
-
-
-
Method Detail
-
set
public void set(java.lang.Object object)
-
getFormattedMessage
public java.lang.String getFormattedMessage()
Returns the formatted object message.- Specified by:
getFormattedMessagein interfaceMessage- Returns:
- the formatted object message.
-
formatTo
public void formatTo(java.lang.StringBuilder buffer)
- Specified by:
formatToin interfaceorg.apache.logging.log4j.util.StringBuilderFormattable
-
getFormat
public java.lang.String getFormat()
Returns the object formatted using its toString method.
-
getParameter
public java.lang.Object getParameter()
Returns the object parameter.- Returns:
- The object.
- Since:
- 2.7
-
getParameters
public java.lang.Object[] getParameters()
Returns the object as if it were a parameter.- Specified by:
getParametersin interfaceMessage- Returns:
- The object.
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
getThrowable
public java.lang.Throwable getThrowable()
Gets the message if it is a throwable.- Specified by:
getThrowablein interfaceMessage- Returns:
- the message if it is a throwable.
-
swapParameters
public java.lang.Object[] swapParameters(java.lang.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()
-
-