1 package com.bea.xml.stream;
2
3 import javax.xml.namespace.QName;
4 import com.bea.xml.stream.util.ElementTypeNames;
5 import java.util.List;
6 import java.util.Iterator;
7 import java.util.ArrayList;
8
9
10 public class EventState {
11 private int type;
12 private QName qname;
13 private List attributes;
14 private List namespaces;
15 private String data;
16 private String extraData;
17
18 public EventState(){}
19 public EventState(int type) {
20 this.type = type;
21 attributes = new ArrayList();
22 namespaces = new ArrayList();
23 }
24
25 public void clear() {
26 qname = null;
27 attributes = new ArrayList();
28 namespaces = new ArrayList();
29 data = null;
30 extraData = null;
31 }
32 public void setType(int type) { this.type = type; }
33 public int getType() { return type; }
34 public QName getName() { return qname; }
35 public String getLocalName() { return qname.getLocalPart();}
36 public String getPrefix() { return qname.getPrefix(); }
37 public String getNamespaceURI() {
38 return qname.getNamespaceURI();
39 }
40 public void setName(QName n) { qname = n; }
41 public void setAttributes(List atts) { attributes = atts; }
42 public void addAttribute(Object obj) {
43 attributes.add(obj);
44 }
45 public void addNamespace(Object obj) {
46 namespaces.add(obj);
47 }
48 public List getAttributes() { return attributes; }
49 public void setNamespaces(List ns) { namespaces = ns; }
50 public List getNamespaces() { return namespaces; }
51 public String getData() { return data; }
52 public void setData(String data) { this.data = data; }
53 public String getExtraData() { return extraData; }
54 public void setExtraData(String d) { this.extraData = d; }
55 public String toString() {
56 StringBuffer b = new StringBuffer();
57 b.append("["+ElementTypeNames.getEventTypeString(type)+
58 "]");
59 if (qname != null)
60 b.append("[name='"+qname+"']");
61 Iterator i = namespaces.iterator();
62 while(i.hasNext()) b.append(i.next()+" ");
63 i = attributes.iterator();
64 while(i.hasNext()) b.append(i.next()+" ");
65 if (data != null)
66 b.append(",data=["+data+"]");
67 if (extraData != null)
68 b.append(",extradata=["+extraData+"]");
69 return b.toString();
70 }
71 }