01: // IllegalAttributeAccess.java
02: // $Id: IllegalAttributeAccess.java,v 1.2 2000/08/16 21:37:52 ylafon Exp $
03: // (c) COPYRIGHT MIT and INRIA, 1996.
04: // Please first read the full copyright statement in file COPYRIGHT.html
05:
06: package org.w3c.tools.resources;
07:
08: /**
09: * The generic exception for illegal attribute access.
10: * Depending on this parameter this exception can indicate:
11: * <ul>
12: * <li>That an attribute can't be set to a given value.
13: * <li>That the attribute isn't defined for the given resource.
14: * </ul>
15: */
16:
17: public class IllegalAttributeAccess extends RuntimeException {
18: AttributeHolder holder = null;
19: Attribute attribute = null;
20: int idx = -1;
21: Object value = null;
22: String accessor = null;
23:
24: /**
25: * This attribute isn't defined by the given holder.
26: * @param holder The holder that got the exception.
27: * @param attr The unknown atribute.
28: */
29:
30: public IllegalAttributeAccess(AttributeHolder holder, Attribute attr) {
31: super ("Unknown attribute " + attr.getName());
32: this .holder = holder;
33: this .attribute = attribute;
34: }
35:
36: /**
37: * This attribute index isn't valid for the given holder.
38: * @param holder The holder that got the exception.
39: * @param idx The erred index.
40: */
41:
42: public IllegalAttributeAccess(AttributeHolder holder, int idx) {
43: super ("Invalid attribute index " + idx);
44: this .holder = holder;
45: this .idx = idx;
46: }
47:
48: /**
49: * The proposed value for the attribute doesn't match the expected type.
50: * @param holder The holder that got the exception.
51: * @param attribute The attribute that you were trying to set.
52: * @param value The erred value.
53: */
54:
55: public IllegalAttributeAccess(AttributeHolder holder,
56: Attribute attr, Object value) {
57: super ("Illegal attribute value "
58: + ((value == null) ? "null" : value.toString())
59: + " for " + attr.getName());
60: this .holder = holder;
61: this .attribute = attr;
62: this .value = value;
63: }
64:
65: /**
66: * Invalid access to an attribute value.
67: * You used an invalid specific accessor to get the value of an attribute.
68: * @param holder The holder that got the exception.
69: * @param attr The attribute that was accessed.
70: * @param accessor The name of the invalid accessor used.
71: */
72:
73: public IllegalAttributeAccess(AttributeHolder holder,
74: Attribute attr, String accessor) {
75: super ("Illegal access " + accessor + " to get "
76: + attr.getName());
77: this .holder = holder;
78: this .attribute = attribute;
79: this .accessor = accessor;
80: }
81:
82: /**
83: * Invalid access to an attribute.
84: * @param golder The attribute holder.
85: * @param name The name of the attribute that wan't found.
86: */
87:
88: public IllegalAttributeAccess(AttributeHolder holder, String name) {
89: super ("Illegal attribute name " + name);
90: this.holder = holder;
91: }
92:
93: }
|