Class ReusableObjectMessage

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void 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​(java.lang.StringBuilder buffer)  
      java.lang.String getFormat()
      Returns the object formatted using its toString method.
      java.lang.String getFormattedMessage()
      Returns the formatted object message.
      java.lang.Object getParameter()
      Returns the object parameter.
      short getParameterCount()
      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.Throwable getThrowable()
      Gets the message if it is a throwable.
      Message memento()
      Returns an immutable snapshot of the current internal state of this reusable message.
      void set​(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.String toString()  
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • ReusableObjectMessage

        public ReusableObjectMessage()
    • Method Detail

      • set

        public void set​(java.lang.Object object)
      • getFormattedMessage

        public java.lang.String getFormattedMessage()
        Returns the formatted object message.
        Specified by:
        getFormattedMessage in interface Message
        Returns:
        the formatted object message.
      • formatTo

        public void formatTo​(java.lang.StringBuilder buffer)
        Specified by:
        formatTo in interface org.apache.logging.log4j.util.StringBuilderFormattable
      • getFormat

        public java.lang.String getFormat()
        Returns the object formatted using its toString method.
        Specified by:
        getFormat in interface Message
        Returns:
        the String representation of the object.
      • 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:
        getParameters in interface Message
        Returns:
        The object.
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • getThrowable

        public java.lang.Throwable getThrowable()
        Gets the message if it is a throwable.
        Specified by:
        getThrowable in interface Message
        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:
        swapParameters in interface ReusableMessage
        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:
        getParameterCount in interface ReusableMessage
        Returns:
        1
      • forEachParameter

        public <S> void forEachParameter​(ParameterConsumer<S> action,
                                         S state)
        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 interface ParameterVisitable
        Type Parameters:
        S - type of the third parameter
        Parameters:
        action - The action to be performed for each key-value pair in this collection
        state - the object to be passed as the third parameter to each invocation on the specified ParameterConsumer.
      • memento

        public Message 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 interface ReusableMessage
        Returns:
        an immutable snapshot of this message
      • clear

        public void clear()