View Javadoc
1   /*
2    * Copyright (C) 2013 4th Line GmbH, Switzerland
3    *
4    * The contents of this file are subject to the terms of either the GNU
5    * Lesser General Public License Version 2 or later ("LGPL") or the
6    * Common Development and Distribution License Version 1 or later
7    * ("CDDL") (collectively, the "License"). You may not use this file
8    * except in compliance with the License. See LICENSE.txt for more
9    * information.
10   *
11   * This program is distributed in the hope that it will be useful,
12   * but WITHOUT ANY WARRANTY; without even the implied warranty of
13   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14   */
15  
16  package org.fourthline.cling.model.action;
17  
18  import org.fourthline.cling.model.types.ErrorCode;
19  
20  /**
21   * Thrown (or encapsulated in {@link org.fourthline.cling.model.action.ActionInvocation} when an action execution failed.
22   *
23   * @author Christian Bauer
24   */
25  public class ActionException extends Exception {
26  
27      private int errorCode;
28  
29      public ActionException(int errorCode, String message) {
30          super(message);
31          this.errorCode = errorCode;
32      }
33  
34      public ActionException(int errorCode, String message, Throwable cause) {
35          super(message, cause);
36          this.errorCode = errorCode;
37      }
38  
39      public ActionException(ErrorCode errorCode) {
40          this(errorCode.getCode(), errorCode.getDescription());
41      }
42  
43      public ActionException(ErrorCode errorCode, String message) {
44          this(errorCode, message, true);
45      }
46  
47      public ActionException(ErrorCode errorCode, String message, boolean concatMessages) {
48          this(errorCode.getCode(), concatMessages ? (errorCode.getDescription() + ". " + message + ".") : message);
49      }
50  
51      public ActionException(ErrorCode errorCode, String message, Throwable cause) {
52          this(errorCode.getCode(), errorCode.getDescription() + ". " + message + ".", cause);
53      }
54  
55      public int getErrorCode() {
56          return errorCode;
57      }
58  }