org.apache.commons.lang3.exception

## Class DefaultExceptionContext

- java.lang.Object
- - org.apache.commons.lang3.exception.DefaultExceptionContext

- All Implemented Interfaces:
    Serializable, ExceptionContext

      public class DefaultExceptionContext
      extends Object
      implements ExceptionContext, 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

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `DefaultExceptionContext()`

  - ### Method Summary

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

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### DefaultExceptionContext

          public DefaultExceptionContext()

  - ### Method Detail

    - #### addContextValue

          public DefaultExceptionContext addContextValue(String label,
                                                         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`

    - #### getContextEntries

          public List<Pair<String,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`

    - #### getContextLabels

          public Set<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`

    - #### getContextValues

          public List<Object> getContextValues(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 Object getFirstContextValue(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`

    - #### getFormattedExceptionMessage

          public String getFormattedExceptionMessage(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

    - #### setContextValue

          public DefaultExceptionContext setContextValue(String label,
                                                         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`

Copyright © 2001–2023 The Apache Software Foundation. All rights reserved.