01: package com.meterware.httpunit;
02:
03: /********************************************************************************************************************
04: * $Id: HTMLElementScriptable.java,v 1.3 2004/10/29 00:41:24 russgold Exp $
05: *
06: * Copyright (c) 2002, 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: import com.meterware.httpunit.scripting.ScriptableDelegate;
24: import com.meterware.httpunit.scripting.DocumentElement;
25:
26: /**
27: *
28: * @author <a href="mailto:russgold@httpunit.org">Russell Gold</a>
29: **/
30: class HTMLElementScriptable extends ScriptableDelegate implements
31: DocumentElement {
32:
33: private HTMLElement _element;
34:
35: public Object get(String propertyName) {
36: if (propertyName.equals("nodeName")) {
37: return _element.getTagName();
38: } else if (propertyName.equals("tagName")) {
39: return _element.getTagName();
40: } else if (propertyName.equalsIgnoreCase("title")) {
41: return _element.getTitle();
42: } else if (_element.isSupportedAttribute(propertyName)) {
43: return _element.getAttribute(propertyName);
44: } else {
45: return super .get(propertyName);
46: }
47: }
48:
49: public HTMLElementScriptable(HTMLElement element) {
50: _element = element;
51: }
52: }
|