Class DefaultExceptionContext

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