1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package com.bea.xml.stream.filters;
17
18 import javax.xml.namespace.QName;
19 import javax.xml.stream.EventFilter;
20 import javax.xml.stream.StreamFilter;
21 import javax.xml.stream.XMLStreamReader;
22 import javax.xml.stream.events.StartElement;
23 import javax.xml.stream.events.EndElement;
24 import javax.xml.stream.events.XMLEvent;
25
26 public class NameFilter implements EventFilter, StreamFilter {
27 private QName name;
28
29 public NameFilter(QName name)
30 {
31 this.name = name;
32 }
33
34 public boolean accept(XMLEvent e) {
35 if (!e.isStartElement() && !e.isEndElement()) return false;
36 QName eName = null;
37 if (e.isStartElement())
38 eName = ((StartElement)e).getName();
39 else
40 eName = ((EndElement)e).getName();
41 if (name.equals(eName))
42 return true;
43 return false;
44 }
45
46 public boolean accept(XMLStreamReader r) {
47 if (!r.isStartElement() && !r.isEndElement()) return false;
48 QName eName = new QName(r.getNamespaceURI(),
49 r.getLocalName());
50 if (name.equals(eName))
51 return true;
52 return false;
53 }
54 }
55
56