## 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
`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
`ExceptionContext(java.lang.Throwable throwable)` Simple constructor.

Method Summary
`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