1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.eclipse.jetty.webapp;
20
21 import org.eclipse.jetty.util.resource.Resource;
22 import org.eclipse.jetty.xml.XmlParser;
23
24 public abstract class Descriptor
25 {
26 protected Resource _xml;
27 protected XmlParser.Node _root;
28 protected XmlParser _parser;
29 protected boolean _validating;
30
31 public Descriptor (Resource xml)
32 {
33 _xml = xml;
34 }
35
36 public abstract void ensureParser()
37 throws ClassNotFoundException;
38
39 public void setValidating (boolean validating)
40 {
41 _validating = validating;
42 }
43
44 public void parse ()
45 throws Exception
46 {
47 if (_parser == null)
48 ensureParser();
49
50 if (_root == null)
51 {
52 try
53 {
54 _root = _parser.parse(_xml.getInputStream());
55 }
56 finally
57 {
58 _xml.close();
59 }
60 }
61 }
62
63 public Resource getResource ()
64 {
65 return _xml;
66 }
67
68 public XmlParser.Node getRoot ()
69 {
70 return _root;
71 }
72
73 public String toString()
74 {
75 return this.getClass().getSimpleName()+"("+_xml+")";
76 }
77 }