KickJava   Java API By Example, From Geeks To Geeks.

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


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.ArrayList JavaDoc;
22 import java.util.List JavaDoc;
23 import org.netbeans.modules.xml.xdm.visitor.XMLNodeVisitor;
24
25 /**
26  *
27  * @author Ajit
28  */

29 public class Comment extends Text implements org.w3c.dom.Comment JavaDoc {
30     
31     public void accept(XMLNodeVisitor visitor) {
32         visitor.visit(this);
33     }
34     
35     Comment() {
36         super();
37     }
38
39     Comment(String JavaDoc text) {
40         this();
41         stripCommentMarkers(text);
42     }
43
44     private void stripCommentMarkers(String JavaDoc data) {
45     // remove start and end markers
46
String JavaDoc normalizedData = ""; //NOI18N
47
assert data.startsWith(Token.COMMENT_START.getValue()):data;
48     if (data.length() > Token.COMMENT_START.getValue().length() +
49         Token.COMMENT_END.getValue().length()) {
50         normalizedData =
51         data.substring(Token.COMMENT_START.getValue().length(),
52         data.length() - Token.COMMENT_END.getValue().length());
53     }
54     setData(normalizedData);
55     }
56     
57     private void addCommentTokens() {
58     List JavaDoc<Token> tokens = getTokensForWrite();
59     tokens.add(0,Token.COMMENT_START);
60     tokens.add(Token.COMMENT_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     addCommentTokens();
73     }
74     
75     @Override JavaDoc
76     public short getNodeType() {
77         return Node.COMMENT_NODE;
78     }
79
80     @Override JavaDoc
81     public String JavaDoc getNodeName() {
82         return "#comment"; //NOI18N
83
}
84
85 }
86
Popular Tags