KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > xml > xdm > nodes > CData


1 /*
2  * The contents of this file are subject to the terms of the Common Development
3  * and Distribution License (the License). You may not use this file except in
4  * compliance with the License.
5  *
6  * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
7  * or http://www.netbeans.org/cddl.txt.
8  *
9  * When distributing Covered Code, include this CDDL Header Notice in each file
10  * and include the License file at http://www.netbeans.org/cddl.txt.
11  * If applicable, add the following below the CDDL Header, with the fields
12  * enclosed by brackets [] replaced by your own identifying information:
13  * "Portions Copyrighted [year] [name of copyright owner]"
14  *
15  * The Original Software is NetBeans. The Initial Developer of the Original
16  * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

19
20 package org.netbeans.modules.xml.xdm.nodes;
21 import java.util.List JavaDoc;
22 import org.netbeans.modules.xml.xdm.visitor.XMLNodeVisitor;
23 import org.w3c.dom.CDATASection JavaDoc;
24
25 /**
26  *
27  * @author Ajit
28  */

29 public class CData extends Text implements CDATASection JavaDoc {
30     
31     public void accept(XMLNodeVisitor visitor) {
32         visitor.visit(this);
33     }
34     
35     CData() {
36         super();
37     }
38
39     CData(String JavaDoc text) {
40         this();
41         stripCDataMarkers(text);
42     }
43
44     private void stripCDataMarkers(String JavaDoc data) {
45     // remove start and end CDATA
46
String JavaDoc normalizedData = ""; //NOI18N
47
assert data.startsWith(Token.CDATA_START.getValue());
48     if (data.length() > Token.CDATA_START.getValue().length() +
49         Token.CDATA_END.getValue().length()) {
50         normalizedData =
51         data.substring(Token.CDATA_START.getValue().length(),
52         data.length() - Token.CDATA_END.getValue().length());
53     }
54     setData(normalizedData);
55     }
56     
57     private void addCDataTokens() {
58     List JavaDoc<Token> tokens = getTokensForWrite();
59     tokens.add(0,Token.CDATA_START);
60     tokens.add(Token.CDATA_END);
61     setTokens(tokens);
62     }
63     
64     @Override JavaDoc
65     public String JavaDoc getNodeValue() {
66         return getData();
67     }
68     
69     @Override JavaDoc
70     public void setData(String JavaDoc data) {
71     super.setData(data);
72     addCDataTokens();
73     }
74     
75     @Override JavaDoc
76     public short getNodeType() {
77         return Node.CDATA_SECTION_NODE;
78     }
79
80     @Override JavaDoc
81     public String JavaDoc getNodeName() {
82         return "#cdata-section"; //NOI18N
83
}
84
85 }
86
Popular Tags