1 19 20 package org.netbeans.modules.xml.xdm.nodes; 21 import java.util.ArrayList ; 22 import java.util.List ; 23 import org.netbeans.modules.xml.xdm.visitor.XMLNodeVisitor; 24 25 29 public class Comment extends Text implements org.w3c.dom.Comment { 30 31 public void accept(XMLNodeVisitor visitor) { 32 visitor.visit(this); 33 } 34 35 Comment() { 36 super(); 37 } 38 39 Comment(String text) { 40 this(); 41 stripCommentMarkers(text); 42 } 43 44 private void stripCommentMarkers(String data) { 45 String normalizedData = ""; 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 <Token> tokens = getTokensForWrite(); 59 tokens.add(0,Token.COMMENT_START); 60 tokens.add(Token.COMMENT_END); 61 setTokens(tokens); 62 } 63 64 @Override 65 public String getNodeValue() { 66 return getData(); 67 } 68 69 @Override 70 public void setData(String data) { 71 super.setData(data); 72 addCommentTokens(); 73 } 74 75 @Override 76 public short getNodeType() { 77 return Node.COMMENT_NODE; 78 } 79 80 @Override 81 public String getNodeName() { 82 return "#comment"; } 84 85 } 86 | Popular Tags |