Class DefaultExceptionContext

  • All Implemented Interfaces:
    java.io.Serializable, ExceptionContext

    public class DefaultExceptionContext
    extends java.lang.Object
    implements ExceptionContext, java.io.Serializable
    Default implementation of the context storing the label-value pairs for contexted exceptions.

    This implementation is serializable, however this is dependent on the values that are added also being serializable.

    Since:
    3.0
    See Also:
    ContextedException, ContextedRuntimeException, Serialized Form
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      DefaultExceptionContext addContextValue​(java.lang.String label, java.lang.Object value)
      Adds a contextual label-value pair into this context.
      java.util.List<Pair<java.lang.String,​java.lang.Object>> getContextEntries()
      Retrieves the full list of label-value pairs defined in the contextual data.
      java.util.Set<java.lang.String> getContextLabels()
      Retrieves the full set of labels defined in the contextual data.
      java.util.List<java.lang.Object> getContextValues​(java.lang.String label)
      Retrieves all the contextual data values associated with the label.
      java.lang.Object getFirstContextValue​(java.lang.String label)
      Retrieves the first available contextual data value associated with the label.
      java.lang.String getFormattedExceptionMessage​(java.lang.String baseMessage)
      Builds the message containing the contextual information.
      DefaultExceptionContext setContextValue​(java.lang.String label, java.lang.Object value)
      Sets a contextual label-value pair into this context.
      • Methods inherited from class java.lang.Object

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

      • DefaultExceptionContext

        public DefaultExceptionContext()
    • Method Detail

      • addContextValue

        public DefaultExceptionContext addContextValue​(java.lang.String label,
                                                       java.lang.Object value)
        Adds a contextual label-value pair into this context.

        The pair will be added to the context, independently of an already existing pair with the same label.

        Specified by:
        addContextValue in interface ExceptionContext
        Parameters:
        label - the label of the item to add, null not recommended
        value - the value of item to add, may be null
        Returns:
        this, for method chaining, not null
      • setContextValue

        public DefaultExceptionContext setContextValue​(java.lang.String label,
                                                       java.lang.Object value)
        Sets a contextual label-value pair into this context.

        The pair will be added normally, but any existing label-value pair with the same label is removed from the context.

        Specified by:
        setContextValue in interface ExceptionContext
        Parameters:
        label - the label of the item to add, null not recommended
        value - the value of item to add, may be null
        Returns:
        this, for method chaining, not null
      • getContextValues

        public java.util.List<java.lang.Object> getContextValues​(java.lang.String label)
        Retrieves all the contextual data values associated with the label.
        Specified by:
        getContextValues in interface ExceptionContext
        Parameters:
        label - the label to get the contextual values for, may be null
        Returns:
        the contextual values associated with the label, never null
      • getFirstContextValue

        public java.lang.Object getFirstContextValue​(java.lang.String label)
        Retrieves the first available contextual data value associated with the label.
        Specified by:
        getFirstContextValue in interface ExceptionContext
        Parameters:
        label - the label to get the contextual value for, may be null
        Returns:
        the first contextual value associated with the label, may be null
      • getContextLabels

        public java.util.Set<java.lang.String> getContextLabels()
        Retrieves the full set of labels defined in the contextual data.
        Specified by:
        getContextLabels in interface ExceptionContext
        Returns:
        the set of labels, not null
      • getContextEntries

        public java.util.List<Pair<java.lang.String,​java.lang.Object>> getContextEntries()
        Retrieves the full list of label-value pairs defined in the contextual data.
        Specified by:
        getContextEntries in interface ExceptionContext
        Returns:
        the list of pairs, not null
      • getFormattedExceptionMessage

        public java.lang.String getFormattedExceptionMessage​(java.lang.String baseMessage)
        Builds the message containing the contextual information.
        Specified by:
        getFormattedExceptionMessage in interface ExceptionContext
        Parameters:
        baseMessage - the base exception message without context information appended
        Returns:
        the exception message with context information appended, never null