org.apache.commons.math3.exception.util

## Class ExceptionContext

- java.lang.Object
- - org.apache.commons.math3.exception.util.ExceptionContext

- All Implemented Interfaces:
    java.io.Serializable

      public class ExceptionContext
      extends java.lang.Object
      implements java.io.Serializable

  Class that contains the actual implementation of the functionality mandated by the `ExceptionContext` interface. All Commons Math exceptions delegate the interface's methods to this class.
  Since:
    3.0
  Version:
    $Id: ExceptionContext.java 1364388 2012-07-22 18:16:43Z tn $
  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private java.util.Map<java.lang.String,java.lang.Object>` | `context` Arbitrary context information.
    `private java.util.List<java.lang.Object[]>` | `msgArguments` Various informations that enrich the informative message.
    `private java.util.List<Localizable>` | `msgPatterns` Various informations that enrich the informative message.
    `private static long` | `serialVersionUID` Serializable version Id.
    `private java.lang.Throwable` | `throwable` The throwable to which this context refers to.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ExceptionContext(java.lang.Throwable throwable)` Simple constructor.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addMessage(Localizable pattern, java.lang.Object... arguments)` Adds a message.
    `private java.lang.String` | `buildMessage(java.util.Locale locale, java.lang.String separator)` Builds a message string.
    `private void` | `deSerializeContext(java.io.ObjectInputStream in)` Deserialize `context`.
    `private void` | `deSerializeMessages(java.io.ObjectInputStream in)` Deserialize `msgPatterns` and `msgArguments`.
    `java.util.Set<java.lang.String>` | `getKeys()` Gets all the keys stored in the exception
    `java.lang.String` | `getLocalizedMessage()` Gets the message in the default locale.
    `java.lang.String` | `getMessage()` Gets the default message.
    `java.lang.String` | `getMessage(java.util.Locale locale)` Gets the message in a specified locale.
    `java.lang.String` | `getMessage(java.util.Locale locale, java.lang.String separator)` Gets the message in a specified locale.
    `java.lang.Throwable` | `getThrowable()` Get a reference to the exception to which the context relates.
    `java.lang.Object` | `getValue(java.lang.String key)` Gets the value associated to the given context key.
    `private java.lang.String` | `nonSerializableReplacement(java.lang.Object obj)` Replaces a non-serializable object with an error message string.
    `private void` | `readObject(java.io.ObjectInputStream in)` Deserialize this object from the given stream.
    `private void` | `serializeContext(java.io.ObjectOutputStream out)` Serialize `context`.
    `private void` | `serializeMessages(java.io.ObjectOutputStream out)` Serialize `msgPatterns` and `msgArguments`.
    `void` | `setValue(java.lang.String key, java.lang.Object value)` Sets the context (key, value) pair.
    `private void` | `writeObject(java.io.ObjectOutputStream out)` Serialize this object to the given stream.

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

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

- - ### Field Detail

    - #### serialVersionUID

          private static final long serialVersionUID

      Serializable version Id.
      See Also:
        Constant Field Values

    - #### throwable

          private java.lang.Throwable throwable

      The throwable to which this context refers to.

    - #### msgPatterns

          private java.util.List<Localizable> msgPatterns

      Various informations that enrich the informative message.

    - #### msgArguments

          private java.util.List<java.lang.Object[]> msgArguments

      Various informations that enrich the informative message. The arguments will replace the corresponding place-holders in `msgPatterns`.

    - #### context

          private java.util.Map<java.lang.String,java.lang.Object> context

      Arbitrary context information.

  - ### Constructor Detail

    - #### ExceptionContext

          public ExceptionContext(java.lang.Throwable throwable)

      Simple constructor.
      Parameters:
        `throwable` - the exception this context refers too

  - ### Method Detail

    - #### getThrowable

          public java.lang.Throwable getThrowable()

      Get a reference to the exception to which the context relates.
      Returns:
        a reference to the exception to which the context relates

    - #### addMessage

          public void addMessage(Localizable pattern,
                        java.lang.Object... arguments)

      Adds a message.
      Parameters:
        `pattern` - Message pattern.
        `arguments` - Values for replacing the placeholders in the message pattern.

    - #### setValue

          public void setValue(java.lang.String key,
                      java.lang.Object value)

      Sets the context (key, value) pair. Keys are assumed to be unique within an instance. If the same key is assigned a new value, the previous one will be lost.
      Parameters:
        `key` - Context key (not null).
        `value` - Context value.

    - #### getValue

          public java.lang.Object getValue(java.lang.String key)

      Gets the value associated to the given context key.
      Parameters:
        `key` - Context key.
      Returns:
        the context value or `null` if the key does not exist.

    - #### getKeys

          public java.util.Set<java.lang.String> getKeys()

      Gets all the keys stored in the exception
      Returns:
        the set of keys.

    - #### getMessage

          public java.lang.String getMessage()

      Gets the default message.
      Returns:
        the message.

    - #### getLocalizedMessage

          public java.lang.String getLocalizedMessage()

      Gets the message in the default locale.
      Returns:
        the localized message.

    - #### getMessage

          public java.lang.String getMessage(java.util.Locale locale)

      Gets the message in a specified locale.
      Parameters:
        `locale` - Locale in which the message should be translated.
      Returns:
        the localized message.

    - #### getMessage

          public java.lang.String getMessage(java.util.Locale locale,
                                    java.lang.String separator)

      Gets the message in a specified locale.
      Parameters:
        `locale` - Locale in which the message should be translated.
        `separator` - Separator inserted between the message parts.
      Returns:
        the localized message.

    - #### buildMessage

          private java.lang.String buildMessage(java.util.Locale locale,
                                      java.lang.String separator)

      Builds a message string.
      Parameters:
        `locale` - Locale in which the message should be translated.
        `separator` - Message separator.
      Returns:
        a localized message string.

    - #### writeObject

          private void writeObject(java.io.ObjectOutputStream out)
                            throws java.io.IOException

      Serialize this object to the given stream.
      Parameters:
        `out` - Stream.
      Throws:
        `java.io.IOException` - This should never happen.

    - #### readObject

          private void readObject(java.io.ObjectInputStream in)
                           throws java.io.IOException,
                                  java.lang.ClassNotFoundException

      Deserialize this object from the given stream.
      Parameters:
        `in` - Stream.
      Throws:
        `java.io.IOException` - This should never happen.
        `java.lang.ClassNotFoundException` - This should never happen.

    - #### serializeMessages

          private void serializeMessages(java.io.ObjectOutputStream out)
                                  throws java.io.IOException

      Serialize `msgPatterns` and `msgArguments`.
      Parameters:
        `out` - Stream.
      Throws:
        `java.io.IOException` - This should never happen.

    - #### deSerializeMessages

          private void deSerializeMessages(java.io.ObjectInputStream in)
                                    throws java.io.IOException,
                                           java.lang.ClassNotFoundException

      Deserialize `msgPatterns` and `msgArguments`.
      Parameters:
        `in` - Stream.
      Throws:
        `java.io.IOException` - This should never happen.
        `java.lang.ClassNotFoundException` - This should never happen.

    - #### serializeContext

          private void serializeContext(java.io.ObjectOutputStream out)
                                 throws java.io.IOException

      Serialize `context`.
      Parameters:
        `out` - Stream.
      Throws:
        `java.io.IOException` - This should never happen.

    - #### deSerializeContext

          private void deSerializeContext(java.io.ObjectInputStream in)
                                   throws java.io.IOException,
                                          java.lang.ClassNotFoundException

      Deserialize `context`.
      Parameters:
        `in` - Stream.
      Throws:
        `java.io.IOException` - This should never happen.
        `java.lang.ClassNotFoundException` - This should never happen.

    - #### nonSerializableReplacement

          private java.lang.String nonSerializableReplacement(java.lang.Object obj)

      Replaces a non-serializable object with an error message string.
      Parameters:
        `obj` - Object that does not implement the `Serializable` interface.
      Returns:
        a string that mentions which class could not be serialized.

Copyright (c) 2003-2013 Apache Software Foundation