01: package com.meterware.servletunit;
02:
03: /********************************************************************************************************************
04: * $Id: WebResourceConfiguration.java,v 1.1 2004/02/26 17:36:47 russgold Exp $
05: *
06: * Copyright (c) 2004, Russell Gold
07: *
08: * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
09: * documentation files (the "Software"), to deal in the Software without restriction, including without limitation
10: * the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and
11: * to permit persons to whom the Software is furnished to do so, subject to the following conditions:
12: *
13: * The above copyright notice and this permission notice shall be included in all copies or substantial portions
14: * of the Software.
15: *
16: * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
17: * THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18: * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
19: * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20: * DEALINGS IN THE SOFTWARE.
21: *
22: *******************************************************************************************************************/
23:
24: import org.w3c.dom.Element;
25: import org.w3c.dom.NodeList;
26: import org.xml.sax.SAXException;
27:
28: import java.util.ArrayList;
29: import java.util.Hashtable;
30:
31: /**
32: *
33: * @author <a href="mailto:russgold@httpunit.org">Russell Gold</a>
34: **/
35: abstract class WebResourceConfiguration {
36:
37: private String _className;
38: private Hashtable _initParams = new Hashtable();
39:
40: WebResourceConfiguration(String className) {
41: _className = className;
42: }
43:
44: WebResourceConfiguration(String className, Hashtable initParams) {
45: _className = className;
46: if (initParams != null)
47: _initParams = initParams;
48: }
49:
50: WebResourceConfiguration(Element resourceElement,
51: String resourceNodeName) throws SAXException {
52: this (XMLUtils.getChildNodeValue(resourceElement,
53: resourceNodeName));
54: final NodeList initParams = resourceElement
55: .getElementsByTagName("init-param");
56: for (int i = initParams.getLength() - 1; i >= 0; i--) {
57: _initParams.put(XMLUtils.getChildNodeValue(
58: (Element) initParams.item(i), "param-name"),
59: XMLUtils.getChildNodeValue((Element) initParams
60: .item(i), "param-value"));
61: }
62: }
63:
64: abstract void destroyResource();
65:
66: String getClassName() {
67: return _className;
68: }
69:
70: Hashtable getInitParams() {
71: return _initParams;
72: }
73:
74: abstract boolean isLoadOnStartup();
75:
76: }
|