1 /* 2 * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved. 3 * 4 * This software is open source. 5 * See the bottom of this file for the licence. 6 */ 7 8 package org.dom4j.tree; 9 10 import org.dom4j.Element; 11 import org.dom4j.Node; 12 import org.dom4j.Text; 13 14 /*** 15 * <p> 16 * <code>FlyweightText</code> is a Flyweight pattern implementation of a 17 * singly linked, read-only XML Text. 18 * </p> 19 * 20 * <p> 21 * This node could be shared across documents and elements though it does not 22 * support the parent relationship. 23 * </p> 24 * 25 * @author <a href="mailto:jstrachan@apache.org">James Strachan </a> 26 * @version $Revision: 1.7 $ 27 */ 28 public class FlyweightText extends AbstractText implements Text { 29 /*** Text of the <code>Text</code> node */ 30 protected String text; 31 32 /*** 33 * DOCUMENT ME! 34 * 35 * @param text 36 * is the Text text 37 */ 38 public FlyweightText(String text) { 39 this.text = text; 40 } 41 42 public String getText() { 43 return text; 44 } 45 46 protected Node createXPathResult(Element parent) { 47 return new DefaultText(parent, getText()); 48 } 49 } 50 51 /* 52 * Redistribution and use of this software and associated documentation 53 * ("Software"), with or without modification, are permitted provided that the 54 * following conditions are met: 55 * 56 * 1. Redistributions of source code must retain copyright statements and 57 * notices. Redistributions must also contain a copy of this document. 58 * 59 * 2. Redistributions in binary form must reproduce the above copyright notice, 60 * this list of conditions and the following disclaimer in the documentation 61 * and/or other materials provided with the distribution. 62 * 63 * 3. The name "DOM4J" must not be used to endorse or promote products derived 64 * from this Software without prior written permission of MetaStuff, Ltd. For 65 * written permission, please contact dom4j-info@metastuff.com. 66 * 67 * 4. Products derived from this Software may not be called "DOM4J" nor may 68 * "DOM4J" appear in their names without prior written permission of MetaStuff, 69 * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd. 70 * 71 * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org 72 * 73 * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND 74 * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 75 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 76 * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE 77 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 78 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 79 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 80 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 81 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 82 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 83 * POSSIBILITY OF SUCH DAMAGE. 84 * 85 * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved. 86 */