View Javadoc
1   /*
2    * This software was designed and created by Jason Carroll.
3    * Copyright (c) 2002, 2003, 2004 Jason Carroll.
4    * The author can be reached at jcarroll@cowsultants.com
5    * ITracker website: http://www.cowsultants.com
6    * ITracker forums: http://www.cowsultants.com/phpBB/index.php
7    *
8    * This program is free software; you can redistribute it and/or modify
9    * it only under the terms of the GNU General Public License as published by
10   * the Free Software Foundation; either version 2 of the License, or
11   * (at your option) any later version.
12   *
13   * This program is distributed in the hope that it will be useful,
14   * but WITHOUT ANY WARRANTY; without even the implied warranty of
15   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16   * GNU General Public License for more details.
17   */
18  
19  package org.itracker;
20  
21  
22  /**
23   * This class is used to represent a variety of exceptions that can occur
24   * while processing issues.
25   */
26  public class IssueException extends Exception {
27  
28      /**
29       *
30       */
31      private static final long serialVersionUID = 3433495017849044287L;
32      public static final String TYPE_UNKNOWN = "itracker.web.error.system";
33      public static final String TYPE_CF_INVALID_LIST_OPTION = "itracker.web.error.validate.invalid";
34      public static final String TYPE_CF_PARSE_NUM = "itracker.web.error.validate.number";
35      public static final String TYPE_CF_PARSE_DATE = "itracker.web.error.validate.date";
36      public static final String TYPE_CF_REQ_FIELD = "itracker.web.error.validate.required";
37  
38      private String type;
39  
40      /**
41       * Creates a new IssueException of unknown type.
42       */
43      public IssueException() {
44          type = TYPE_UNKNOWN;
45      }
46  
47      /**
48       * Creates a new IssueException of unknown type with a default message.
49       *
50       * @param message the exception error message
51       */
52      public IssueException(String message) {
53          super(message);
54          type = TYPE_UNKNOWN;
55      }
56  
57      /**
58       * Creates a new IssueException of unknown type with a default message.
59       *
60       * @param message the exception error message
61       */
62      public IssueException(String message, Throwable cause) {
63          super(message, cause);
64          type = TYPE_UNKNOWN;
65      }
66  
67      /**
68       * Creates a new IssueException of specified type with a default message.
69       *
70       * @param message the exception error message
71       * @param type    the exception type represented by a resource bundle key
72       */
73      public IssueException(String message, String type) {
74          super(message);
75          this.type = type;
76      }
77  
78      /**
79       * Creates a new IssueException of specified type with a default message.
80       *
81       * @param message the exception error message
82       * @param type    the exception type represented by a resource bundle key
83       */
84      public IssueException(String message, String type, Throwable cause) {
85          super(message, cause);
86          this.type = type;
87      }
88  
89      /**
90       * Returns the exception type which can be used to format a localized
91       * error message.
92       *
93       * @return String resource bundle key representing the exception type.
94       */
95      public String getType() {
96          return type;
97      }
98  
99      /**
100      * Sets the issue exception type.
101      *
102      * @param value a String code representing the type of issue exception
103      *              that occured.
104      */
105     public void setType(String value) {
106         type = value;
107     }
108 }
109 
110