home *** CD-ROM | disk | FTP | other *** search
- package allaire.util.template;
-
- import allaire.util.Assert;
- import netscape.util.Enumeration;
- import netscape.util.Hashtable;
- import netscape.util.Vector;
-
- public class TemplateException extends Exception {
- private int m_nError;
- private String m_strError;
- private Vector m_diagnostics = new Vector();
- private String m_strTemplateURL;
- protected static Hashtable m_errorNames = new Hashtable();
- private static final int ERR_BASE = 1000;
- public static final int ERR_INVALID_ATTRIBUTE = 1000;
- public static final int ERR_INVALID_SET_SYNTAX = 1001;
- public static final int ERR_INVALID_TEMPLATE_URL = 1002;
- public static final int ERR_FILE_NOT_FOUND = 1003;
- public static final int ERR_IO_ERROR = 1004;
- public static final int ERR_CANT_CREATE_CLASS = 1005;
- public static final int ERR_NO_BASE_URL = 1006;
- public static final int ERR_USER_BASE = 5000;
-
- public String getDiagnosticsAsString() {
- StringBuffer var1 = new StringBuffer();
- Enumeration var2 = this.m_diagnostics.elements();
-
- while(var2.hasMoreElements()) {
- String var3 = (String)var2.nextElement();
- var1.append(var3 + "\n\n");
- }
-
- return new String(var1);
- }
-
- public String getErrorName() {
- return this.m_strError;
- }
-
- public void setTemplateURL(String var1) {
- this.m_strTemplateURL = var1;
- }
-
- public TemplateException(int var1, String var2) {
- this.m_nError = var1;
- this.m_strError = lookupErrorName(var1, this.getClass());
- this.addDiagnostics(var2);
- }
-
- public TemplateException() {
- this.m_nError = 0;
- this.m_strError = "";
- this.addDiagnostics("");
- }
-
- public String getMessage() {
- StringBuffer var1 = new StringBuffer();
- var1.append(this.m_strError);
- var1.append(" (Error " + String.valueOf(this.m_nError) + ")");
- var1.append("\n\n");
- Enumeration var2 = this.m_diagnostics.elements();
-
- while(var2.hasMoreElements()) {
- String var3 = (String)var2.nextElement();
- var1.append(var3 + "\n\n");
- }
-
- var1.append("Template: " + this.m_strTemplateURL);
- var1.append("\n\n");
- return new String(var1);
- }
-
- public String getTemplateURL() {
- return this.m_strTemplateURL != null ? this.m_strTemplateURL : "";
- }
-
- private static String lookupErrorName(int var0, Class var1) {
- String var2 = (String)m_errorNames.get(new Integer(var0));
- Assert.notNull(var2, "Error number " + String.valueOf(var0) + " for class " + var1.getName() + " does not have a name defined.");
- return var2;
- }
-
- protected static void addError(int var0, String var1) {
- m_errorNames.put(new Integer(var0), var1);
- }
-
- public Vector getDiagnostics() {
- return this.m_diagnostics;
- }
-
- static {
- addError(1000, "Invalid tag attribute");
- addError(1001, "Invalid syntax for setting variable");
- addError(1002, "Invalid URL for template");
- addError(1003, "Template file not found");
- addError(1004, "IO error while processing template");
- addError(1005, "Error attempting to create object");
- addError(1006, "Invalid relative URL reference attempted");
- }
-
- public int getErrorNumber() {
- return this.m_nError;
- }
-
- public void addDiagnostics(String var1) {
- this.m_diagnostics.addElement(var1);
- }
-
- public String getMessageAsHTML() {
- StringBuffer var1 = new StringBuffer();
- var1.append("<P><HR>");
- var1.append("<H3>");
- var1.append(this.m_strError);
- var1.append(" (Error " + String.valueOf(this.m_nError) + ")");
- var1.append("</H3>");
- var1.append("<P>");
- Enumeration var2 = this.m_diagnostics.elements();
-
- while(var2.hasMoreElements()) {
- String var3 = (String)var2.nextElement();
- var1.append(var3 + "<P>");
- }
-
- var1.append("Template: " + this.m_strTemplateURL);
- var1.append("<P><HR>");
- return new String(var1);
- }
- }
-