org.apache.commons.math3.exception.util
Class ExceptionContext

java.lang.Object
  extended by 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