View Javadoc
1   package net.sourceforge.jenesis4java;
2   
3   /*
4    * #%L
5    * Jenesis 4 Java Code Generator
6    * %%
7    * Copyright (C) 2000 - 2015 jenesis4java
8    * %%
9    * This program is free software: you can redistribute it and/or modify
10   * it under the terms of the GNU Lesser General Public License as
11   * published by the Free Software Foundation, either version 3 of the
12   * License, or (at your option) any later version.
13   * 
14   * This program 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.  See the
17   * GNU General Lesser Public License for more details.
18   * 
19   * You should have received a copy of the GNU General Lesser Public
20   * License along with this program.  If not, see
21   * <http://www.gnu.org/licenses/lgpl-3.0.html>.
22   * #L%
23   */
24  
25  /**
26   * Copyright (C) 2008, 2010 Richard van Nieuwenhoven - ritchie [at] gmx [dot] at
27   * Copyright (C) 2000, 2001 Paul Cody Johnston - pcj@inxar.org <br>
28   * This file is part of Jenesis4java. Jenesis4java is free software: you can
29   * redistribute it and/or modify it under the terms of the GNU Lesser General
30   * Public License as published by the Free Software Foundation, either version 3
31   * of the License, or (at your option) any later version.<br>
32   * Jenesis4java is distributed in the hope that it will be useful, but WITHOUT
33   * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
34   * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
35   * details.<br>
36   * You should have received a copy of the GNU Lesser General Public License
37   * along with Jenesis4java. If not, see <http://www.gnu.org/licenses/>.
38   */
39  /**
40   * The {@code Comment} superinterface.
41   */
42  public interface Comment extends Codeable {
43  
44      /**
45       * Type constant for a single line comment.
46       */
47      int SINGLE_LINE = 1;
48  
49      /**
50       * Type constant for a single line comment.
51       * 
52       * @deprecated prefer more descriptive {@link #SINGLE_LINE}
53       */
54      @Deprecated
55      int S = SINGLE_LINE;
56  
57      /**
58       * Type constant for a multiple line comment.
59       */
60      int MULTI_LINE = 2;
61  
62      /**
63       * Type constant for a multiple line comment.
64       * 
65       * @deprecated prefer more descriptive {@link #MULTI_LINE}
66       */
67      @Deprecated
68      int M = MULTI_LINE;
69  
70      /**
71       * Type constant for a multiple line comment, but only at the beginning and
72       * at the end.
73       * 
74       * @deprecated This will be removed in the future. Use {@link #MULTI_LINE}
75       *             instead.
76       */
77      @Deprecated
78      int BLOCK_WITHOUT_INTERMEDIARY_STARS = 3;
79  
80      /**
81       * Type constant for a multiple line comment, but only at the beginning and
82       * at the end.
83       * 
84       * @deprecated prefer more descriptive
85       *             {@link #BLOCK_WITHOUT_INTERMEDIARY_STARS}
86       */
87      @Deprecated
88      int Mbe = BLOCK_WITHOUT_INTERMEDIARY_STARS;
89  
90      /**
91       * Type constant for a documentation comment.
92       */
93      int DOCUMENTATION = 4;
94  
95      /**
96       * Type constant for a documentation comment.
97       * 
98       * @deprecated prefer more descriptive {@link #DOCUMENTATION}
99       */
100     @Deprecated
101     int D = DOCUMENTATION;
102 
103     /**
104      * Type constant for a trailing comment. A trailing comment is on the same
105      * line as the element.
106      * <p>
107      * If putting the comment in a trailing position fails, it will be treated
108      * like a {@link #SINGLE_LINE} comment.
109      * <p>
110      * Note: Feature is still incomplete and is tested on statements only.
111      */
112     int TRAILING = 5;
113 
114     /**
115      * Gets the text for this comment.
116      */
117     String getText();
118 
119     /**
120      * Sets the text for this comment.
121      */
122     Comment setText(String text);
123 
124     /**
125      * Returns the type of this comment.
126      * 
127      * @deprecated Name does not follow naming convention. Use
128      *             {@link #getType()} instead.
129      */
130     @Deprecated
131     int type();
132 
133     /**
134      * Returns the type of this comment.
135      */
136     int getType();
137 }