home *** CD-ROM | disk | FTP | other *** search
/ Computer Shopper 139 / dpcs0999.iso / Web / CFserver / data1.cab / Java / allaire / util / template / TemplateException.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-04-12  |  3.4 KB  |  129 lines

  1. package allaire.util.template;
  2.  
  3. import allaire.util.Assert;
  4. import netscape.util.Enumeration;
  5. import netscape.util.Hashtable;
  6. import netscape.util.Vector;
  7.  
  8. public class TemplateException extends Exception {
  9.    private int m_nError;
  10.    private String m_strError;
  11.    private Vector m_diagnostics = new Vector();
  12.    private String m_strTemplateURL;
  13.    protected static Hashtable m_errorNames = new Hashtable();
  14.    private static final int ERR_BASE = 1000;
  15.    public static final int ERR_INVALID_ATTRIBUTE = 1000;
  16.    public static final int ERR_INVALID_SET_SYNTAX = 1001;
  17.    public static final int ERR_INVALID_TEMPLATE_URL = 1002;
  18.    public static final int ERR_FILE_NOT_FOUND = 1003;
  19.    public static final int ERR_IO_ERROR = 1004;
  20.    public static final int ERR_CANT_CREATE_CLASS = 1005;
  21.    public static final int ERR_NO_BASE_URL = 1006;
  22.    public static final int ERR_USER_BASE = 5000;
  23.  
  24.    public String getDiagnosticsAsString() {
  25.       StringBuffer var1 = new StringBuffer();
  26.       Enumeration var2 = this.m_diagnostics.elements();
  27.  
  28.       while(var2.hasMoreElements()) {
  29.          String var3 = (String)var2.nextElement();
  30.          var1.append(var3 + "\n\n");
  31.       }
  32.  
  33.       return new String(var1);
  34.    }
  35.  
  36.    public String getErrorName() {
  37.       return this.m_strError;
  38.    }
  39.  
  40.    public void setTemplateURL(String var1) {
  41.       this.m_strTemplateURL = var1;
  42.    }
  43.  
  44.    public TemplateException(int var1, String var2) {
  45.       this.m_nError = var1;
  46.       this.m_strError = lookupErrorName(var1, this.getClass());
  47.       this.addDiagnostics(var2);
  48.    }
  49.  
  50.    public TemplateException() {
  51.       this.m_nError = 0;
  52.       this.m_strError = "";
  53.       this.addDiagnostics("");
  54.    }
  55.  
  56.    public String getMessage() {
  57.       StringBuffer var1 = new StringBuffer();
  58.       var1.append(this.m_strError);
  59.       var1.append(" (Error " + String.valueOf(this.m_nError) + ")");
  60.       var1.append("\n\n");
  61.       Enumeration var2 = this.m_diagnostics.elements();
  62.  
  63.       while(var2.hasMoreElements()) {
  64.          String var3 = (String)var2.nextElement();
  65.          var1.append(var3 + "\n\n");
  66.       }
  67.  
  68.       var1.append("Template: " + this.m_strTemplateURL);
  69.       var1.append("\n\n");
  70.       return new String(var1);
  71.    }
  72.  
  73.    public String getTemplateURL() {
  74.       return this.m_strTemplateURL != null ? this.m_strTemplateURL : "";
  75.    }
  76.  
  77.    private static String lookupErrorName(int var0, Class var1) {
  78.       String var2 = (String)m_errorNames.get(new Integer(var0));
  79.       Assert.notNull(var2, "Error number " + String.valueOf(var0) + " for class " + var1.getName() + " does not have a name defined.");
  80.       return var2;
  81.    }
  82.  
  83.    protected static void addError(int var0, String var1) {
  84.       m_errorNames.put(new Integer(var0), var1);
  85.    }
  86.  
  87.    public Vector getDiagnostics() {
  88.       return this.m_diagnostics;
  89.    }
  90.  
  91.    static {
  92.       addError(1000, "Invalid tag attribute");
  93.       addError(1001, "Invalid syntax for setting variable");
  94.       addError(1002, "Invalid URL for template");
  95.       addError(1003, "Template file not found");
  96.       addError(1004, "IO error while processing template");
  97.       addError(1005, "Error attempting to create object");
  98.       addError(1006, "Invalid relative URL reference attempted");
  99.    }
  100.  
  101.    public int getErrorNumber() {
  102.       return this.m_nError;
  103.    }
  104.  
  105.    public void addDiagnostics(String var1) {
  106.       this.m_diagnostics.addElement(var1);
  107.    }
  108.  
  109.    public String getMessageAsHTML() {
  110.       StringBuffer var1 = new StringBuffer();
  111.       var1.append("<P><HR>");
  112.       var1.append("<H3>");
  113.       var1.append(this.m_strError);
  114.       var1.append(" (Error " + String.valueOf(this.m_nError) + ")");
  115.       var1.append("</H3>");
  116.       var1.append("<P>");
  117.       Enumeration var2 = this.m_diagnostics.elements();
  118.  
  119.       while(var2.hasMoreElements()) {
  120.          String var3 = (String)var2.nextElement();
  121.          var1.append(var3 + "<P>");
  122.       }
  123.  
  124.       var1.append("Template: " + this.m_strTemplateURL);
  125.       var1.append("<P><HR>");
  126.       return new String(var1);
  127.    }
  128. }
  129.