1fbe04cb71cc09b67ab5145197048b30b8202bc1
[java-idp.git] / src / edu / internet2 / middleware / shibboleth / hs / HandleException.java
1 import edu.internet2.middleware.shibboleth.*;
2 import edu.internet2.middleware.shibboleth.common.*;
3 import java.util.StringTokenizer;
4
5 /**
6  *  Indicates an error with the Handle Server
7  *
8  * @author     Barbara Jensen
9  * @created    March 6 2002
10  */
11
12 public class HandleException extends Exception{
13     /** SQL failure status code */
14     public final static String SQL = "handle:SQL error";
15     
16     /** handle failure status code */
17     public final static String ERR = "handle:general error";
18     
19     /* will create more codes later to better handle things */
20
21     private String codes;
22
23     /**
24      *  Creates a new exception
25      *
26      * @param  codes  Zero or more dot-separated QNames
27      * @param  s      The error message
28      */
29     public HandleException (String codes, String msg)
30     {
31         super(msg);
32         this.codes = codes;
33     }
34
35     public  HandleException (String msg)
36     {
37         super(msg);
38         this.codes = ERR;
39     }
40
41     public String[] getCodes()
42     {
43         if (codes == null || codes.length() == 0)
44             return null;
45         StringTokenizer tk = new StringTokenizer(codes, ".", false);
46         int i = tk.countTokens();
47         String[] ret = new String[i];
48         for (i--; i >= 0; i--)
49             ret[i] = tk.nextToken();
50         return ret;
51     }
52
53 }
54