Merged xdebug from 1.3.x
[phpeclipse.git] / archive / net.sourceforge.phpeclipse.jtidy / src / net / sourceforge / phpdt / tidy / w3c / DOMCharacterDataImpl.java
1 /*
2  * @(#)DOMCharacterDataImpl.java   1.11 2000/08/16
3  *
4  */
5
6 package net.sourceforge.phpdt.tidy.w3c;
7
8 import org.w3c.dom.DOMException;
9
10 /**
11  *
12  * DOMCharacterDataImpl
13  *
14  * (c) 1998-2000 (W3C) MIT, INRIA, Keio University
15  * See Tidy.java for the copyright notice.
16  * Derived from <a href="http://www.w3.org/People/Raggett/tidy">
17  * HTML Tidy Release 4 Aug 2000</a>
18  *
19  * @author  Dave Raggett <dsr@w3.org>
20  * @author  Andy Quick <ac.quick@sympatico.ca> (translation to Java)
21  * @version 1.7, 1999/12/06 Tidy Release 30 Nov 1999
22  * @version 1.8, 2000/01/22 Tidy Release 13 Jan 2000
23  * @version 1.9, 2000/06/03 Tidy Release 30 Apr 2000
24  * @version 1.10, 2000/07/22 Tidy Release 8 Jul 2000
25  * @version 1.11, 2000/08/16 Tidy Release 4 Aug 2000
26  */
27
28 public class DOMCharacterDataImpl extends DOMNodeImpl
29                             implements org.w3c.dom.CharacterData {
30
31     protected DOMCharacterDataImpl(Node adaptee)
32     {
33         super(adaptee);
34     }
35
36
37     /* --------------------- DOM ---------------------------- */
38
39     /**
40      * @see org.w3c.dom.CharacterData#getData
41      */
42     public String getData() throws DOMException
43     {
44         return getNodeValue();
45     }
46
47     /**
48      * @see org.w3c.dom.CharacterData#setData
49      */
50     public void setData(String data) throws DOMException
51     {
52         // NOT SUPPORTED
53         throw new DOMExceptionImpl(DOMException.NO_MODIFICATION_ALLOWED_ERR,
54                                    "Not supported");
55     }
56
57     /**
58      * @see org.w3c.dom.CharacterData#getLength
59      */
60     public int getLength()
61     {
62         int len = 0;
63         if (adaptee.textarray != null && adaptee.start < adaptee.end)
64             len = adaptee.end - adaptee.start;
65         return len;
66     }
67
68     /**
69      * @see org.w3c.dom.CharacterData#substringData
70      */
71     public String substringData(int offset, 
72                                 int count) throws DOMException
73     {
74         int len;
75         String value = null;
76         if (count < 0)
77         {
78             throw new DOMExceptionImpl(DOMException.INDEX_SIZE_ERR,
79                                        "Invalid length");
80         }
81         if (adaptee.textarray != null && adaptee.start < adaptee.end)
82         {
83             if (adaptee.start + offset >= adaptee.end)
84             {
85                 throw new DOMExceptionImpl(DOMException.INDEX_SIZE_ERR,
86                                            "Invalid offset");
87             }
88             len = count;
89             if (adaptee.start + offset + len - 1 >= adaptee.end)
90                 len = adaptee.end - adaptee.start - offset;
91
92             value = Lexer.getString(adaptee.textarray,
93                                     adaptee.start + offset,
94                                     len);
95         }
96         return value;
97     }
98
99     /**
100      * @see org.w3c.dom.CharacterData#appendData
101      */
102     public void appendData(String arg) throws DOMException
103     {
104         // NOT SUPPORTED
105         throw new DOMExceptionImpl(DOMException.NO_MODIFICATION_ALLOWED_ERR,
106                                    "Not supported");
107     }
108
109     /**
110      * @see org.w3c.dom.CharacterData#insertData
111      */
112     public void insertData(int offset, 
113                            String arg) throws DOMException
114     {
115         // NOT SUPPORTED
116         throw new DOMExceptionImpl(DOMException.NO_MODIFICATION_ALLOWED_ERR,
117                                    "Not supported");
118     }
119
120     /**
121      * @see org.w3c.dom.CharacterData#deleteData
122      */
123     public void deleteData(int offset, 
124                            int count) throws DOMException
125     {
126         // NOT SUPPORTED
127         throw new DOMExceptionImpl(DOMException.NO_MODIFICATION_ALLOWED_ERR,
128                                    "Not supported");
129     }
130
131     /**
132      * @see org.w3c.dom.CharacterData#replaceData
133      */
134     public void replaceData(int offset, 
135                             int count, 
136                             String arg) throws DOMException
137     {
138         // NOT SUPPORTED
139         throw new DOMExceptionImpl(DOMException.NO_MODIFICATION_ALLOWED_ERR,
140                                    "Not supported");
141     }
142
143 }