View Javadoc

1   /*
2    * Copyright 2007-2013 smartics, Kronseder & Reiner GmbH
3    *
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    *     http://www.apache.org/licenses/LICENSE-2.0
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  package de.smartics.exceptions.core;
17  
18  /**
19   * Defines the modes how exceptions should be handled by the framework.
20   */
21  public enum ThrowableHandleMode
22  {
23    /**
24     * Throwables will not be truncated and are therefore stored in the
25     * {@link Throwable#getCause() cause} property.
26     */
27    NORMAL,
28  
29    /**
30     * On request all exceptions do not inherit from
31     * {@link de.smartics.exceptions.AbstractCoreException} or
32     * {@link de.smartics.exceptions.AbstractCoreRuntimeException} are removed.
33     * Effectively the first none-framework exception will be cut off with all of
34     * its root causes.
35     */
36    TRUNCATE_EXTERNAL,
37  
38    /**
39     * On request all exceptions will be removed. If requested afterwards the root
40     * cause of the exception is <code>null</code>.
41     */
42    TRUNCATE_ALL;
43  }