java.lang.Object
edu.internet2.middleware.grouperClientExt.org.apache.commons.lang3.exception.DefaultExceptionContext
All Implemented Interfaces:
ExceptionContext, Serializable

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:
  • Constructor Details

    • DefaultExceptionContext

      public DefaultExceptionContext()
  • Method Details

    • 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
    • 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
    • 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
    • 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
    • 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
    • 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