01: package org.apache.myfaces.shared_impl.test;
02:
03: import java.util.List;
04: import java.util.ArrayList;
05:
06: import org.xml.sax.Attributes;
07: import org.xml.sax.SAXException;
08: import org.xml.sax.helpers.DefaultHandler;
09:
10: /**
11: * @see AbstractClassElementTestCase
12: * @author Dennis Byrne
13: */
14:
15: public class ClassElementHandler extends DefaultHandler {
16:
17: private boolean clazz;
18: private List elementName = new ArrayList();
19: private List className = new ArrayList();
20: private StringBuffer buffer;
21:
22: public ClassElementHandler() {
23:
24: elementName.add("component-class");
25: elementName.add("tag-class");
26: elementName.add("renderer-class");
27: elementName.add("validator-class");
28: elementName.add("converter-class");
29: elementName.add("action-listener");
30: elementName.add("navigation-handler");
31: elementName.add("variable-resolver");
32: elementName.add("property-resolver");
33: elementName.add("phase-listener");
34:
35: }
36:
37: public void characters(char[] ch, int start, int length)
38: throws SAXException {
39: if (clazz) {
40: String string = new String(ch, start, length);
41: if (string != null) {
42: buffer.append(string.trim());
43: }
44: }
45: }
46:
47: public void startElement(String ns, String local, String qName,
48: Attributes atts) throws SAXException {
49:
50: clazz = elementName.contains(qName);
51:
52: if (clazz)
53: buffer = new StringBuffer();
54:
55: }
56:
57: public void endElement(String ns, String local, String qName)
58: throws SAXException {
59:
60: if (clazz) {
61: className.add(buffer.toString());
62: clazz = false;
63: }
64:
65: }
66:
67: public List getClassName() {
68: return className;
69: }
70:
71: }
|