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 }