Overview | Package | Class | Tree | Deprecated | Index | Help
| © 2002 BEA Systems, Inc.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.beasys.commerce.foundation.exception
Class ApplicationException

    java.lang.Object
      |
      +--java.lang.Throwable
            |
            +--java.lang.Exception
                  |
                  +--com.beasys.commerce.foundation.exception.ApplicationException

Direct Known Subclasses:
  BMPException, CatalogException, DiscountException, IllegalWorkflowTransitionException, InconsistentStateException, InvalidArgumentException, InvalidCurrencyException, ItemNotInShoppingCartException, OrderInventoryException, OrderInvoicingException, OrderShippingException, PaymentException, PaymentProcessException, PricingException, ProcessingException, ShippingMethodException, TaxException

public class ApplicationException
extends java.lang.Exception
implements MessageCatalogException

The `ApplicationException` class is used to signal checked business logic exceptions to a caller. It is the base application exception class.

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

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

According to the EJB 1.1 specification, an application exception is an exception defined in the throws clause of the enterprise bean home and remote interfaces, other than the `RemoteException`.

A bean provider is responsible for defining application exceptions in bean remote and home interfaces and is also responsible for throwing an appropriate application exception from a bean method to report a business logic exception to the client. If necessary, the bean provider should subclass the `ApplicationException` class to create package-specific application exceptions. However, a bean provider is responsible for using the standard EJB application exceptions (`CreateException`, `FinderException`, `RemoveException`, `DuplicateKeyException`, `ObjectNotFoundException`) where appropriate.

Since an application exception does not, and should not, automatically mark the existing transaction (if any) for rollback, the bean provider must do one of the following before throwing the exception, in order to insure data integrity:

- Ensure that the instance is in a consistent state.
- Mark the transaction for rollback using `EJBContext.setRollbackOnly()`.

The second option is only available when the bean is deployed with Container managed transaction management. Therefore, in order not to tie the bean implementation to a specific deployment, try to avoid using `setRollbackOnly` at all costs. If this is not possible, consider using a `FatalApplicationException`.

See Also:
  `MessageCatalog`, `FatalApplicationException`, `MessageCatalogException`, Serialized Form

Field Summary
`protected java.lang.Exception` | `embeddedException` The embedded exception.
`protected java.util.Stack` | `logMessages` The log messages.
`protected java.util.Stack` | `userMessages` The user messages.

Constructor Summary
`ApplicationException()` Constructs an `ApplicationException` with no associated message.
`ApplicationException(ApplicationException topException, ApplicationException bottomException)` Constructs an `ApplicationException` from two source `ApplicationException`s by concatinating the screen and log messages of the two source `ApplicationException`s.
`ApplicationException(java.lang.String namespace, java.lang.String messageKey)` Class constructor taking the namespace and key of the associated catalog message.
`ApplicationException(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.
`ApplicationException(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.
`ApplicationException(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.
`ApplicationException(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.
`ApplicationException(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.

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 java.lang.Throwable
`fillInStackTrace, printStackTrace, printStackTrace, printStackTrace`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### embeddedException

    protected java.lang.Exception embeddedException

  The embedded exception.

### logMessages

    protected java.util.Stack logMessages

  The log messages.

### userMessages

    protected java.util.Stack userMessages

  The user messages.

Constructor Detail

### ApplicationException

    public ApplicationException()

  Constructs an `ApplicationException` with no associated message.

### ApplicationException

    public ApplicationException(ApplicationException topException,
                                ApplicationException bottomException)

  Constructs an `ApplicationException` from two source `ApplicationException`s by concatinating the screen and log messages of the two source `ApplicationException`s. The messages of the first `ApplicationException` will preceed those of the second in the constructed `ApplicationException`. Furthermore, the new `ApplicationException` will have the embedded exception of the first `ApplicationException` associated with it.

  Parameters:
    `ApplicationException` - topException
    `ApplicationException` - bottomException

### ApplicationException

    public ApplicationException(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.

### ApplicationException

    public ApplicationException(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.

### ApplicationException

    public ApplicationException(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.

### ApplicationException

    public ApplicationException(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.

### ApplicationException

    public ApplicationException(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.

### ApplicationException

    public ApplicationException(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 java.lang.Throwable

### 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

Overview | Package | Class | Tree | Deprecated | Index | Help
| © 2002 BEA Systems, Inc.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2002 BEA Systems, Inc. All Rights Reserved