SystemException Class

com.beasys.commerce.foundation.exception
SystemException Class

public class SystemException

    extends 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".

Related Topics

EJBException
MessageCatalog
MessageCatalogException


Hierarchy
Object
  Throwable
    Exception
      RuntimeException
        EJBException
          SystemException
All Implemented Interfaces

MessageCatalogException, Serializable
Direct Known Subclasses

CreateSystemException, DeploymentException, DiscountSystemException, FatalWorkflowTransitionException, FinderSystemException, NamingSystemException, PipelineException, RemoteSystemException, UnimplementedException, WebflowException, WorkflowInstantiationException

Field Summary

protected Stack
logMessages
The log messages.
protected Stack
userMessages
The user messages.
 

Constructor Summary

SystemException()

Constructs an SystemException with no associated message.
SystemException(SystemException topException, SystemException bottomException)

Constructs an SystemException from two source SystemExceptions by concatinating the screen and log messages of the two source SystemExceptions.
SystemException(String namespace, String messageKey, Exception exception)

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

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

Class constructor taking the namespace and key of the associated catalog message and a message parameter substitution argument.
SystemException(String namespace, String messageKey, Object arguments, Exception exception)

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

Class constructor taking the namespace and key of the associated catalog message and message parameter substitution arguments.
SystemException(String namespace, String messageKey)

Class constructor taking the namespace and key of the associated catalog message.
 

Method Summary

public void
addLogMessage(String namespace, String messageKey)
Adds a new log catalog message to the stack of associated messages.
public void
addLogMessage(String namespace, String messageKey, Object argument)
Adds a new log catalog message to the stack of associated messages.
public void
addLogMessage(String namespace, String messageKey, Object[] arguments)
Adds a new log catalog message to the stack of associated messages.
public void
addMessage(String namespace, String messageKey)
Adds a new user and log catalog message to the stack of associated messages.
public void
addMessage(String namespace, String messageKey, Object argument)
Adds a new user catalog message to the stack of associated messages.
public void
addMessage(String namespace, String messageKey, Object[] arguments)
Adds a new user catalog message to the stack of associated messages.
public void
addUserMessage(String namespace, String messageKey)
Adds a new user catalog message to the stack of associated messages.
public void
addUserMessage(String namespace, String messageKey, Object argument)
Adds a new user catalog message to the stack of associated messages.
public void
addUserMessage(String namespace, String messageKey, Object[] arguments)
Adds a new user catalog message to the stack of associated messages.
public Exception
getEmbeddedException()
Gets the embedded exception associated with this exception.
public String
getLocalizedMessage()
Returns the user message associated with this exception.
public String
getLogMessage()
Returns the first log catalog message associated with this exception.
public Iterator
getLogMessages()
Returns an iterator over all the log catalog messages associated with this exception.
public String
getMessage()
Returns the user message associated with this exception.
public String
getUserMessage()
Returns the first user catalog message associated with this exception.
public Iterator
getUserMessages()
Returns an iterator over all the user catalog messages associated with this exception.
public String
toString()
Returns a string representation of this exception.
 
Methods from  javax.ejb.EJBException
getCausedByException, printStackTrace, printStackTrace, printStackTrace
 
Methods from  java.lang.Throwable
fillInStackTrace, getCause, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace,
 
Methods from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
   
Methods from interface com.beasys.commerce.foundation.exception.MessageCatalogException
addLogMessage, addLogMessage, addLogMessage, addMessage, addMessage, addMessage, addUserMessage, addUserMessage, addUserMessage, getEmbeddedException, getLogMessage, getLogMessages, getUserMessage, getUserMessages
 

Field Detail

logMessages

protected Stack logMessages
The log messages.


userMessages

protected 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.

SystemException

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

SystemException

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

SystemException

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

SystemException

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

SystemException

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

SystemException

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

Method Detail

addLogMessage(String, String) Method

public void addLogMessage(String namespace, 
                          String messageKey)
Description copied from MessageCatalogException.addLogMessage(String, String)
Adds a new log catalog message to the stack of associated messages.

Parameters

namespace
Log catalog message namespace.
messageKey
Log catalog message key.

addLogMessage(String, String, Object) Method

public void addLogMessage(String namespace, 
                          String messageKey, 
                          Object argument)
Description copied from MessageCatalogException.addLogMessage(String, String, Object)
Adds a new log catalog message to the stack of associated messages.

Parameters

namespace
Log catalog message namespace.
messageKey
Log catalog message key.
argument
Message parameter substitution argument.

addLogMessage(String, String, Object[]) Method

public void addLogMessage(String namespace, 
                          String messageKey, 
                          Object[] arguments)
Description copied from MessageCatalogException.addLogMessage(String, String, Object[])
Adds a new log catalog message to the stack of associated messages.

Parameters

namespace
Log catalog message namespace.
messageKey
Log catalog message key.
arguments
Message parameter substitution arguments.

addMessage(String, String) Method

public void addMessage(String namespace, 
                       String messageKey)
Description copied from MessageCatalogException.addMessage(String, String)
Adds a new user and log catalog message to the stack of associated messages.

Parameters

namespace
User and log catalog message namespace.
messageKey
User and log catalog message key.

addMessage(String, String, Object) Method

public void addMessage(String namespace, 
                       String messageKey, 
                       Object argument)
Description copied from MessageCatalogException.addMessage(String, String, Object)
Adds a new user catalog message to the stack of associated messages.

Parameters

namespace
User and log catalog message namespace.
messageKey
User and log catalog message key.
argument
Message parameter substitution argument.

addMessage(String, String, Object[]) Method

public void addMessage(String namespace, 
                       String messageKey, 
                       Object[] arguments)
Description copied from MessageCatalogException.addMessage(String, String, Object[])
Adds a new user catalog message to the stack of associated messages.

Parameters

namespace
User and log catalog message namespace.
messageKey
User and log catalog message key.
arguments
Message parameter substitution arguments.

addUserMessage(String, String) Method

public void addUserMessage(String namespace, 
                           String messageKey)
Description copied from MessageCatalogException.addUserMessage(String, String)
Adds a new user catalog message to the stack of associated messages.

Parameters

namespace
User catalog message namespace.
messageKey
User catalog message key.

addUserMessage(String, String, Object) Method

public void addUserMessage(String namespace, 
                           String messageKey, 
                           Object argument)
Description copied from MessageCatalogException.addUserMessage(String, String, Object)
Adds a new user catalog message to the stack of associated messages.

Parameters

namespace
User catalog message namespace.
messageKey
User catalog message key.
argument
Message parameter substitution argument.

addUserMessage(String, String, Object[]) Method

public void addUserMessage(String namespace, 
                           String messageKey, 
                           Object[] arguments)
Description copied from MessageCatalogException.addUserMessage(String, String, Object[])
Adds a new user catalog message to the stack of associated messages.

Parameters

namespace
User catalog message namespace.
messageKey
User catalog message key.
arguments
Message parameter substitution arguments.

getEmbeddedException() Method

public Exception getEmbeddedException()
Description copied from MessageCatalogException.getEmbeddedException()
Gets the embedded exception associated with this exception.

Returns

The embedded exception.

getLocalizedMessage() Method

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

Overrides
Throwable.getLocalizedMessage()

Returns

The user message associated with this exception.

getLogMessage() Method

public String getLogMessage()
Description copied from MessageCatalogException.getLogMessage()
Returns the first log catalog message associated with this exception.

Returns

The first log catalog message associated with this exception.

getLogMessages() Method

public Iterator getLogMessages()
Description copied from MessageCatalogException.getLogMessages()
Returns an iterator over all the log catalog messages associated with this exception.

Returns

An iterator over all log catalog messages.

getMessage() Method

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

Overrides
EJBException.getMessage()

Returns

The user message associated with this exception.

getUserMessage() Method

public String getUserMessage()
Description copied from MessageCatalogException.getUserMessage()
Returns the first user catalog message associated with this exception.

Returns

The user catalog message associated with this exception.

getUserMessages() Method

public Iterator getUserMessages()
Description copied from MessageCatalogException.getUserMessages()
Returns an iterator over all the user catalog messages associated with this exception.

Returns

An iterator over all user catalog messages.

toString() Method

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

Overrides
Throwable.toString()

Returns

A string representation of this exception.