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