KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > caucho > xml > QCdata


1 /*
2  * Copyright (c) 1998-2006 Caucho Technology -- all rights reserved
3  *
4  * This file is part of Resin(R) Open Source
5  *
6  * Each copy or derived work must preserve the copyright notice and this
7  * notice unmodified.
8  *
9  * Resin Open Source is free software; you can redistribute it and/or modify
10  * it under the terms of the GNU General Public License as published by
11  * the Free Software Foundation; either version 2 of the License, or
12  * (at your option) any later version.
13  *
14  * Resin Open Source is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, or any warranty
17  * of NON-INFRINGEMENT. See the GNU General Public License for more
18  * details.
19  *
20  * You should have received a copy of the GNU General Public License
21  * along with Resin Open Source; if not, write to the
22  * Free SoftwareFoundation, Inc.
23  * 59 Temple Place, Suite 330
24  * Boston, MA 02111-1307 USA
25  *
26  * @author Scott Ferguson
27  */

28
29 package com.caucho.xml;
30
31 import org.w3c.dom.CDATASection JavaDoc;
32 import org.w3c.dom.DOMException JavaDoc;
33 import org.w3c.dom.Text JavaDoc;
34
35 import java.io.IOException JavaDoc;
36
37 public class QCdata extends QText implements CDATASection JavaDoc {
38   public QCdata(String JavaDoc data)
39   {
40     super(data);
41   }
42
43   public String JavaDoc getNodeName() { return "#cdata-section"; }
44   public short getNodeType() { return CDATA_SECTION_NODE; }
45
46   public Text JavaDoc splitText(int offset)
47     throws DOMException JavaDoc
48   {
49     QCdata text = new QCdata(_data.substring(offset));
50     text._owner = _owner;
51
52     _data = _data.substring(0, offset);
53
54     text._parent = _parent;
55     if (_next != null)
56       _next._previous = text;
57     else if (_parent != null)
58       _parent._lastChild = text;
59     text._previous = this;
60     text._next = _next;
61     _next = text;
62
63     return text;
64   }
65
66   private Object JavaDoc writeReplace()
67   {
68     return new SerializedXml(this);
69   }
70
71   public void print(XmlPrinter os) throws IOException JavaDoc
72   {
73     os.cdata(getData());
74   }
75 }
76
Popular Tags