KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > java > source > builder > CommentRun


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 package org.netbeans.modules.java.source.builder;
20
21 import org.netbeans.api.java.source.Comment;
22 import com.sun.tools.javac.parser.Scanner.CommentStyle;
23
24 /**
25  * A specific BufferRun for comments that also knows the comment style.
26  */

27 public class CommentRun extends BufferRun {
28
29     final Comment.Style style; // The comment style for this comment run
30

31     /**
32      * @param start The starting char offset of the run, inclusive
33      * @param end The end char offset of the run, exclusive
34      * @param style The comment style for this comment run
35      */

36     public CommentRun(int start, int end, CommentStyle style) {
37         super(start, end, Kind.COMMENT);
38         switch (style) {
39             case BLOCK: this.style = Comment.Style.BLOCK; break;
40             case LINE: this.style = Comment.Style.LINE; break;
41             case JAVADOC: this.style = Comment.Style.JAVADOC; break;
42             default:
43                 throw new AssertionError JavaDoc("unknown CommentStyle: " + style);
44         }
45     }
46
47     /**
48      * @return The comment style for this comment run
49      */

50     public Comment.Style getStyle() {
51         return style;
52     }
53     
54     public Comment toComment(String JavaDoc text, int indent) {
55         return Comment.create(style, start, end, indent, text);
56     }
57
58     /*
59      * @see java.lang.Object#toString()
60      */

61     public String JavaDoc toString() {
62         return "CR(" + start + "," + end + ") " + style;
63     }
64 }
65
Popular Tags