Clover coverage report - dom4j - 1.6.1
Coverage timestamp: ma mei 16 2005 14:23:01 GMT+01:00
file stats: LOC: 264   Methods: 38
NCLOC: 154   Classes: 1
 
 Source file Conditionals Statements Methods TOTAL
DOMText.java 0% 5,6% 7,9% 6%
coverage coverage
 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.dom;
 9   
 10    import org.dom4j.Element;
 11    import org.dom4j.Text;
 12    import org.dom4j.tree.DefaultText;
 13   
 14    import org.w3c.dom.DOMException;
 15    import org.w3c.dom.Document;
 16    import org.w3c.dom.NamedNodeMap;
 17    import org.w3c.dom.NodeList;
 18   
 19    /**
 20    * <p>
 21    * <code>DOMText</code> implements a Text node which supports the W3C DOM API.
 22    * </p>
 23    *
 24    * @author <a href="mailto:jstrachan@apache.org">James Strachan </a>
 25    * @version $Revision: 1.12 $
 26    */
 27    public class DOMText extends DefaultText implements org.w3c.dom.Text {
 28  307 public DOMText(String text) {
 29  307 super(text);
 30    }
 31   
 32  0 public DOMText(Element parent, String text) {
 33  0 super(parent, text);
 34    }
 35   
 36    // org.w3c.dom.Node interface
 37    // -------------------------------------------------------------------------
 38  0 public boolean supports(String feature, String version) {
 39  0 return DOMNodeHelper.supports(this, feature, version);
 40    }
 41   
 42  0 public String getNamespaceURI() {
 43  0 return DOMNodeHelper.getNamespaceURI(this);
 44    }
 45   
 46  0 public String getPrefix() {
 47  0 return DOMNodeHelper.getPrefix(this);
 48    }
 49   
 50  0 public void setPrefix(String prefix) throws DOMException {
 51  0 DOMNodeHelper.setPrefix(this, prefix);
 52    }
 53   
 54  0 public String getLocalName() {
 55  0 return DOMNodeHelper.getLocalName(this);
 56    }
 57   
 58  0 public String getNodeName() {
 59  0 return "#text";
 60    }
 61   
 62    // already part of API
 63    //
 64    // public short getNodeType();
 65  73 public String getNodeValue() throws DOMException {
 66  73 return DOMNodeHelper.getNodeValue(this);
 67    }
 68   
 69  0 public void setNodeValue(String nodeValue) throws DOMException {
 70  0 DOMNodeHelper.setNodeValue(this, nodeValue);
 71    }
 72   
 73  15 public org.w3c.dom.Node getParentNode() {
 74  15 return DOMNodeHelper.getParentNode(this);
 75    }
 76   
 77  0 public NodeList getChildNodes() {
 78  0 return DOMNodeHelper.getChildNodes(this);
 79    }
 80   
 81  0 public org.w3c.dom.Node getFirstChild() {
 82  0 return DOMNodeHelper.getFirstChild(this);
 83    }
 84   
 85  0 public org.w3c.dom.Node getLastChild() {
 86  0 return DOMNodeHelper.getLastChild(this);
 87    }
 88   
 89  0 public org.w3c.dom.Node getPreviousSibling() {
 90  0 return DOMNodeHelper.getPreviousSibling(this);
 91    }
 92   
 93  0 public org.w3c.dom.Node getNextSibling() {
 94  0 return DOMNodeHelper.getNextSibling(this);
 95    }
 96   
 97  0 public NamedNodeMap getAttributes() {
 98  0 return null;
 99    }
 100   
 101  0 public Document getOwnerDocument() {
 102  0 return DOMNodeHelper.getOwnerDocument(this);
 103    }
 104   
 105  0 public org.w3c.dom.Node insertBefore(org.w3c.dom.Node newChild,
 106    org.w3c.dom.Node refChild) throws DOMException {
 107  0 checkNewChildNode(newChild);
 108   
 109  0 return DOMNodeHelper.insertBefore(this, newChild, refChild);
 110    }
 111   
 112  0 public org.w3c.dom.Node replaceChild(org.w3c.dom.Node newChild,
 113    org.w3c.dom.Node oldChild) throws DOMException {
 114  0 checkNewChildNode(newChild);
 115   
 116  0 return DOMNodeHelper.replaceChild(this, newChild, oldChild);
 117    }
 118   
 119  0 public org.w3c.dom.Node removeChild(org.w3c.dom.Node oldChild)
 120    throws DOMException {
 121  0 return DOMNodeHelper.removeChild(this, oldChild);
 122    }
 123   
 124  0 public org.w3c.dom.Node appendChild(org.w3c.dom.Node newChild)
 125    throws DOMException {
 126  0 checkNewChildNode(newChild);
 127   
 128  0 return DOMNodeHelper.appendChild(this, newChild);
 129    }
 130   
 131  0 private void checkNewChildNode(org.w3c.dom.Node newChild)
 132    throws DOMException {
 133  0 throw new DOMException(DOMException.HIERARCHY_REQUEST_ERR,
 134    "Text nodes cannot have children");
 135    }
 136   
 137  0 public boolean hasChildNodes() {
 138  0 return DOMNodeHelper.hasChildNodes(this);
 139    }
 140   
 141  0 public org.w3c.dom.Node cloneNode(boolean deep) {
 142  0 return DOMNodeHelper.cloneNode(this, deep);
 143    }
 144   
 145  0 public void normalize() {
 146  0 DOMNodeHelper.normalize(this);
 147    }
 148   
 149  0 public boolean isSupported(String feature, String version) {
 150  0 return DOMNodeHelper.isSupported(this, feature, version);
 151    }
 152   
 153  0 public boolean hasAttributes() {
 154  0 return DOMNodeHelper.hasAttributes(this);
 155    }
 156   
 157    // org.w3c.dom.CharacterData interface
 158    // -------------------------------------------------------------------------
 159  0 public String getData() throws DOMException {
 160  0 return DOMNodeHelper.getData(this);
 161    }
 162   
 163  0 public void setData(String data) throws DOMException {
 164  0 DOMNodeHelper.setData(this, data);
 165    }
 166   
 167  0 public int getLength() {
 168  0 return DOMNodeHelper.getLength(this);
 169    }
 170   
 171  0 public String substringData(int offset, int count) throws DOMException {
 172  0 return DOMNodeHelper.substringData(this, offset, count);
 173    }
 174   
 175  0 public void appendData(String arg) throws DOMException {
 176  0 DOMNodeHelper.appendData(this, arg);
 177    }
 178   
 179  0 public void insertData(int offset, String arg) throws DOMException {
 180  0 DOMNodeHelper.insertData(this, offset, arg);
 181    }
 182   
 183  0 public void deleteData(int offset, int count) throws DOMException {
 184  0 DOMNodeHelper.deleteData(this, offset, count);
 185    }
 186   
 187  0 public void replaceData(int offset, int count, String arg)
 188    throws DOMException {
 189  0 DOMNodeHelper.replaceData(this, offset, count, arg);
 190    }
 191   
 192    // org.w3c.dom.Text interface
 193    // -------------------------------------------------------------------------
 194  0 public org.w3c.dom.Text splitText(int offset) throws DOMException {
 195  0 if (isReadOnly()) {
 196  0 throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR,
 197    "CharacterData node is read only: " + this);
 198    } else {
 199  0 String text = getText();
 200  0 int length = (text != null) ? text.length() : 0;
 201   
 202  0 if ((offset < 0) || (offset >= length)) {
 203  0 throw new DOMException(DOMException.INDEX_SIZE_ERR,
 204    "No text at offset: " + offset);
 205    } else {
 206  0 String start = text.substring(0, offset);
 207  0 String rest = text.substring(offset);
 208  0 setText(start);
 209   
 210  0 Element parent = getParent();
 211  0 Text newText = createText(rest);
 212   
 213  0 if (parent != null) {
 214  0 parent.add(newText);
 215    }
 216   
 217  0 return DOMNodeHelper.asDOMText(newText);
 218    }
 219    }
 220    }
 221   
 222    // Implementation methods
 223    // -------------------------------------------------------------------------
 224  0 protected Text createText(String text) {
 225  0 return new DOMText(text);
 226    }
 227    }
 228   
 229    /*
 230    * Redistribution and use of this software and associated documentation
 231    * ("Software"), with or without modification, are permitted provided that the
 232    * following conditions are met:
 233    *
 234    * 1. Redistributions of source code must retain copyright statements and
 235    * notices. Redistributions must also contain a copy of this document.
 236    *
 237    * 2. Redistributions in binary form must reproduce the above copyright notice,
 238    * this list of conditions and the following disclaimer in the documentation
 239    * and/or other materials provided with the distribution.
 240    *
 241    * 3. The name "DOM4J" must not be used to endorse or promote products derived
 242    * from this Software without prior written permission of MetaStuff, Ltd. For
 243    * written permission, please contact dom4j-info@metastuff.com.
 244    *
 245    * 4. Products derived from this Software may not be called "DOM4J" nor may
 246    * "DOM4J" appear in their names without prior written permission of MetaStuff,
 247    * Ltd. DOM4J is a registered trademark of MetaStuff, Ltd.
 248    *
 249    * 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org
 250    *
 251    * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND
 252    * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 253    * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 254    * ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE
 255    * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 256    * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 257    * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 258    * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 259    * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 260    * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 261    * POSSIBILITY OF SUCH DAMAGE.
 262    *
 263    * Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.
 264    */