1 package org.xmldb.common.xml.queries.xalan2; 2 /* 3 * The XML:DB Initiative Software License, Version 1.0 4 * 5 * 6 * Copyright (c) 2000-2003 The XML:DB Initiative. All rights 7 * reserved. 8 * 9 * Redistribution and use in source and binary forms, with or without 10 * modification, are permitted provided that the following conditions 11 * are met: 12 * 13 * 1. Redistributions of source code must retain the above copyright 14 * notice, this list of conditions and the following disclaimer. 15 * 16 * 2. Redistributions in binary form must reproduce the above copyright 17 * notice, this list of conditions and the following disclaimer in 18 * the documentation and/or other materials provided with the 19 * distribution. 20 * 21 * 3. The end-user documentation included with the redistribution, 22 * if any, must include the following acknowledgment: 23 * "This product includes software developed by the 24 * XML:DB Initiative (http://www.xmldb.org/)." 25 * Alternately, this acknowledgment may appear in the software itself, 26 * if and wherever such third-party acknowledgments normally appear. 27 * 28 * 4. The name "XML:DB Initiative" must not be used to endorse or 29 * promote products derived from this software without prior written 30 * permission. For written permission, please contact info@xmldb.org. 31 * 32 * 5. Products derived from this software may not be called "XML:DB", 33 * nor may "XML:DB" appear in their name, without prior written 34 * permission of the XML:DB Initiative. 35 * 36 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED 37 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 38 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 39 * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR 40 * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 41 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 42 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF 43 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 44 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 45 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 46 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 47 * SUCH DAMAGE. 48 * ==================================================================== 49 * 50 * This software consists of voluntary contributions made by many 51 * individuals on behalf of the XML:DB Initiative. For more information 52 * on the XML:DB Initiative, please see <http://www.xmldb.org/>. 53 */ 54 import org.w3c.dom.DocumentFragment; 55 import org.w3c.dom.NodeList; 56 import org.xmldb.common.xml.queries.XObject; 57 58 59 /** 60 * Wrapper for the Xalan XObject and maybe other XPath implementation 61 * specific things. 62 * @version $Revision: 1.3 $ $Date: 2003/05/16 16:01:36 $ 63 * @author <a HREF="http://www.softwarebuero.de">SMB</a> 64 */ 65 public final class XObjectImpl implements XObject { 66 67 // 68 // Data 69 // 70 private org.apache.xpath.objects.XObject _xobj = null; 71 72 /** 73 * Creates a new XalanXObject. 74 * @param xobj Xalans native XObject that should be wrapped. 75 * @exception IllegalArgumentException If the given XObject was null. 76 */ 77 public XObjectImpl (org.apache.xpath.objects.XObject xobj) throws IllegalArgumentException { 78 if (xobj == null) 79 throw new IllegalArgumentException ("XalanXObject(): Argument was null!"); 80 _xobj = xobj; 81 } 82 83 public int getType() { 84 return _xobj.getType(); 85 } 86 87 public boolean bool() 88 throws javax.xml.transform.TransformerException { 89 return _xobj.bool(); 90 } 91 92 public double num() 93 throws javax.xml.transform.TransformerException { 94 return _xobj.num(); 95 } 96 97 public String str() { 98 return _xobj.str(); 99 } 100 101 public NodeList nodeset() 102 throws javax.xml.transform.TransformerException { 103 return (NodeList) _xobj.nodelist(); 104 } 105 106 public DocumentFragment rtree() { 107 return _xobj.rtree(); 108 } 109 } 110 111