© 2002 BEA Systems, Inc.


com.beasys.commerce.foundation.exception
Class SystemException

java.lang.Object
  |
  +--java.lang.Throwable
        |
        +--java.lang.Exception
              |
              +--java.lang.RuntimeException
                    |
                    +--javax.ejb.EJBException
                          |
                          +--com.beasys.commerce.foundation.exception.SystemException
Direct Known Subclasses:
CreateSystemException, DeploymentException, DiscountSystemException, FatalWorkflowTransitionException, FinderSystemException, NamingSystemException, PipelineException, RemoteSystemException, UnimplementedException, WebflowException, WorkflowInstantiationException

public class SystemException
extends javax.ejb.EJBException
implements MessageCatalogException

The SystemException class is used to signal system-level exceptions to a caller. It is the base system exception class. A system-level exception is a severe exception that prevents a thread of execution from proceeding in a normal manner.

The SystemException class is closely tied to the MessageCatalog. An SystemException contains a log and user message that is constructed using the MessageCatalog. In fact, each SystemException derivative should have at least one user and log catalog message.

In the case of an EJB, the following guidelines should be followed:

If an enterprise bean method encounters a system-level exception or error that does not allow the method to successfully complete, the method should throw a suitable system exception compatible with the method's throw clause:

A bean provider is responsible for using the standard EJB system exceptions (EJBException and NoSuchEntityException) where appropriate.

Since the practice of throwing a RemoteException has been deprecated in the EJB 1.1 specification, all such occurrences must be replaced with an instance of SystemException. In the case of a bean method that calls another bean method, all RemoteExceptions should simply be propagated from the bean method.

If an EJB method throws a SystemException, any existing transaction will be rolled back by the Container and the bean's state will be set to "does not exists".

See Also:
EJBException, MessageCatalog, MessageCatalogException, Serialized Form

Field Summary
protected  java.util.Stack logMessages
          The log messages.
protected  java.util.Stack userMessages
          The user messages.
 
Constructor Summary
SystemException()
          Constructs an SystemException with no associated message.
SystemException(java.lang.String namespace, java.lang.String messageKey)
          Class constructor taking the namespace and key of the associated catalog message.
SystemException(java.lang.String namespace, java.lang.String messageKey, java.lang.Exception exception)
          Class constructor taking the namespace and key of the associated catalog message and an embedded exception.
SystemException(java.lang.String namespace, java.lang.String messageKey, java.lang.Object argument)
          Class constructor taking the namespace and key of the associated catalog message and a message parameter substitution argument.
SystemException(java.lang.String namespace, java.lang.String messageKey, java.lang.Object[] arguments)
          Class constructor taking the namespace and key of the associated catalog message and message parameter substitution arguments.
SystemException(java.lang.String namespace, java.lang.String messageKey, java.lang.Object[] arguments, java.lang.Exception exception)
          Class constructor taking the namespace and key of the associated catalog message, message parameter substitution arguments, and an embedded exception.
SystemException(java.lang.String namespace, java.lang.String messageKey, java.lang.Object argument, java.lang.Exception exception)
          Class constructor taking the namespace and key of the associated catalog message, message parameter substitution argument, and an embedded exception.
SystemException(SystemException topException, SystemException bottomException)
          Constructs an SystemException from two source SystemExceptions by concatinating the screen and log messages of the two source SystemExceptions.
 
Method Summary
 void addLogMessage(java.lang.String namespace, java.lang.String messageKey)
           
 void addLogMessage(java.lang.String namespace, java.lang.String messageKey, java.lang.Object argument)
           
 void addLogMessage(java.lang.String namespace, java.lang.String messageKey, java.lang.Object[] arguments)
           
 void addMessage(java.lang.String namespace, java.lang.String messageKey)
           
 void addMessage(java.lang.String namespace, java.lang.String messageKey, java.lang.Object argument)
           
 void addMessage(java.lang.String namespace, java.lang.String messageKey, java.lang.Object[] arguments)
           
 void addUserMessage(java.lang.String namespace, java.lang.String messageKey)
           
 void addUserMessage(java.lang.String namespace, java.lang.String messageKey, java.lang.Object argument)
           
 void addUserMessage(java.lang.String namespace, java.lang.String messageKey, java.lang.Object[] arguments)
           
 java.lang.Exception getEmbeddedException()
           
 java.lang.String getLocalizedMessage()
          Returns the user message associated with this exception.
 java.lang.String getLogMessage()
           
 java.util.Iterator getLogMessages()
           
 java.lang.String getMessage()
          Returns the user message associated with this exception.
 java.lang.String getUserMessage()
           
 java.util.Iterator getUserMessages()
           
 java.lang.String toString()
          Returns a string representation of this exception.
 
Methods inherited from class javax.ejb.EJBException
getCausedByException, printStackTrace, printStackTrace, printStackTrace
 
Methods inherited from class java.lang.Throwable
fillInStackTrace
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

logMessages

protected java.util.Stack logMessages
The log messages.

userMessages

protected java.util.Stack userMessages
The user messages.
Constructor Detail

SystemException

public SystemException()
Constructs an SystemException with no associated message.

SystemException

public SystemException(SystemException topException,
                       SystemException bottomException)
Constructs an SystemException from two source SystemExceptions by concatinating the screen and log messages of the two source SystemExceptions. The messages of the first SystemException will preceed those of the second in the constructed SystemException. Furthermore, the new SystemException will have the embedded exception of the first SystemException associated with it.

Parameters:
SystemException - topException
SystemException - bottomException

SystemException

public SystemException(java.lang.String namespace,
                       java.lang.String messageKey)
Class constructor taking the namespace and key of the associated catalog message.

Parameters:
namespace - The associated catalog message namespace.
messageKey - The associated catalog message key.

SystemException

public SystemException(java.lang.String namespace,
                       java.lang.String messageKey,
                       java.lang.Exception exception)
Class constructor taking the namespace and key of the associated catalog message and an embedded exception.

Parameters:
namespace - The associated catalog message namespace.
messageKey - The associated catalog message key.
exception - The embedded exception.

SystemException

public SystemException(java.lang.String namespace,
                       java.lang.String messageKey,
                       java.lang.Object argument)
Class constructor taking the namespace and key of the associated catalog message and a message parameter substitution argument.

Parameters:
namespace - The associated catalog message namespace.
messageKey - The associated catalog message key.
argument - The message parameter substitution argument.

SystemException

public SystemException(java.lang.String namespace,
                       java.lang.String messageKey,
                       java.lang.Object argument,
                       java.lang.Exception exception)
Class constructor taking the namespace and key of the associated catalog message, message parameter substitution argument, and an embedded exception.

Parameters:
namespace - The associated catalog message namespace.
messageKey - The associated catalog message key.
argument - The message parameter substitution argument.
exception - The embedded exception.

SystemException

public SystemException(java.lang.String namespace,
                       java.lang.String messageKey,
                       java.lang.Object[] arguments)
Class constructor taking the namespace and key of the associated catalog message and message parameter substitution arguments.

Parameters:
namespace - The associated catalog message namespace.
messageKey - The associated catalog message key.
arguments - The message parameter substitution arguments.

SystemException

public SystemException(java.lang.String namespace,
                       java.lang.String messageKey,
                       java.lang.Object[] arguments,
                       java.lang.Exception exception)
Class constructor taking the namespace and key of the associated catalog message, message parameter substitution arguments, and an embedded exception.

Parameters:
namespace - The associated catalog message namespace.
messageKey - The associated catalog message key.
arguments - The message parameter substitution arguments.
exception - The embedded exception.
Method Detail

getEmbeddedException

public java.lang.Exception getEmbeddedException()
Specified by:
getEmbeddedException in interface MessageCatalogException


getLogMessage

public java.lang.String getLogMessage()
Specified by:
getLogMessage in interface MessageCatalogException


getLogMessages

public java.util.Iterator getLogMessages()
Specified by:
getLogMessages in interface MessageCatalogException


addLogMessage

public void addLogMessage(java.lang.String namespace,
                          java.lang.String messageKey)
Specified by:
addLogMessage in interface MessageCatalogException


addLogMessage

public void addLogMessage(java.lang.String namespace,
                          java.lang.String messageKey,
                          java.lang.Object argument)
Specified by:
addLogMessage in interface MessageCatalogException


addLogMessage

public void addLogMessage(java.lang.String namespace,
                          java.lang.String messageKey,
                          java.lang.Object[] arguments)
Specified by:
addLogMessage in interface MessageCatalogException


getUserMessage

public java.lang.String getUserMessage()
Specified by:
getUserMessage in interface MessageCatalogException


getUserMessages

public java.util.Iterator getUserMessages()
Specified by:
getUserMessages in interface MessageCatalogException


addUserMessage

public void addUserMessage(java.lang.String namespace,
                           java.lang.String messageKey)
Specified by:
addUserMessage in interface MessageCatalogException


addUserMessage

public void addUserMessage(java.lang.String namespace,
                           java.lang.String messageKey,
                           java.lang.Object argument)
Specified by:
addUserMessage in interface MessageCatalogException


addUserMessage

public void addUserMessage(java.lang.String namespace,
                           java.lang.String messageKey,
                           java.lang.Object[] arguments)
Specified by:
addUserMessage in interface MessageCatalogException


addMessage

public void addMessage(java.lang.String namespace,
                       java.lang.String messageKey)
Specified by:
addMessage in interface MessageCatalogException


addMessage

public void addMessage(java.lang.String namespace,
                       java.lang.String messageKey,
                       java.lang.Object argument)
Specified by:
addMessage in interface MessageCatalogException


addMessage

public void addMessage(java.lang.String namespace,
                       java.lang.String messageKey,
                       java.lang.Object[] arguments)
Specified by:
addMessage in interface MessageCatalogException


getMessage

public java.lang.String getMessage()
Returns the user message associated with this exception.

Returns:
The user message associated with this exception.
Overrides:
getMessage in class javax.ejb.EJBException

getLocalizedMessage

public java.lang.String getLocalizedMessage()
Returns the user message associated with this exception.

Returns:
The user message associated with this exception.
Overrides:
getLocalizedMessage in class java.lang.Throwable

toString

public java.lang.String toString()
Returns a string representation of this exception.

Returns:
A string representation of this exception.
Overrides:
toString in class java.lang.Throwable

© 2002 BEA Systems, Inc.

Copyright © 2002 BEA Systems, Inc. All Rights Reserved