1 /******************************************************************************* 2 * Copyright (c) 2000, 2012 IBM Corporation and others. 3 * All rights reserved. This program and the accompanying materials 4 * are made available under the terms of the Eclipse Public License v1.0 5 * which accompanies this distribution, and is available at 6 * http://www.eclipse.org/legal/epl-v10.html 7 * 8 * Contributors: 9 * IBM Corporation - initial API and implementation 10 *******************************************************************************/ 11 12 package org.eclipse.jdt.internal.compiler.parser; 13 14 import org.eclipse.jdt.core.compiler.CharOperation; 15 16 /** 17 * Javadoc tag constants. 18 * 19 * @since 3.2 20 */ 21 public interface JavadocTagConstants { 22 23 // recognized tags 24 public static final char[] TAG_DEPRECATED = "deprecated".toCharArray(); //$NON-NLS-1$ 25 public static final char[] TAG_PARAM = "param".toCharArray(); //$NON-NLS-1$ 26 public static final char[] TAG_RETURN = "return".toCharArray(); //$NON-NLS-1$ 27 public static final char[] TAG_THROWS = "throws".toCharArray(); //$NON-NLS-1$ 28 public static final char[] TAG_EXCEPTION = "exception".toCharArray(); //$NON-NLS-1$ 29 public static final char[] TAG_SEE = "see".toCharArray(); //$NON-NLS-1$ 30 public static final char[] TAG_LINK = "link".toCharArray(); //$NON-NLS-1$ 31 public static final char[] TAG_LINKPLAIN = "linkplain".toCharArray(); //$NON-NLS-1$ 32 public static final char[] TAG_INHERITDOC = "inheritDoc".toCharArray(); //$NON-NLS-1$ 33 public static final char[] TAG_VALUE = "value".toCharArray(); //$NON-NLS-1$ 34 public static final char[] TAG_AUTHOR = "author".toCharArray(); //$NON-NLS-1$ 35 public static final char[] TAG_CODE = "code".toCharArray(); //$NON-NLS-1$ 36 public static final char[] TAG_DOC_ROOT = "docRoot".toCharArray(); //$NON-NLS-1$ 37 public static final char[] TAG_LITERAL = "literal".toCharArray(); //$NON-NLS-1$ 38 public static final char[] TAG_SERIAL = "serial".toCharArray(); //$NON-NLS-1$ 39 public static final char[] TAG_SERIAL_DATA = "serialData".toCharArray(); //$NON-NLS-1$ 40 public static final char[] TAG_SERIAL_FIELD = "serialField".toCharArray(); //$NON-NLS-1$ 41 public static final char[] TAG_SINCE = "since".toCharArray(); //$NON-NLS-1$ 42 public static final char[] TAG_VERSION = "version".toCharArray(); //$NON-NLS-1$ 43 public static final char[] TAG_CATEGORY = "category".toCharArray(); //$NON-NLS-1$ 44 45 // tags lengthes 46 public static final int TAG_DEPRECATED_LENGTH = TAG_DEPRECATED.length; 47 public static final int TAG_PARAM_LENGTH = TAG_PARAM.length; 48 public static final int TAG_RETURN_LENGTH = TAG_RETURN.length; 49 public static final int TAG_THROWS_LENGTH = TAG_THROWS.length; 50 public static final int TAG_EXCEPTION_LENGTH = TAG_EXCEPTION.length; 51 public static final int TAG_SEE_LENGTH = TAG_SEE.length; 52 public static final int TAG_LINK_LENGTH = TAG_LINK.length; 53 public static final int TAG_LINKPLAIN_LENGTH = TAG_LINKPLAIN.length; 54 public static final int TAG_INHERITDOC_LENGTH = TAG_INHERITDOC.length; 55 public static final int TAG_VALUE_LENGTH = TAG_VALUE.length; 56 public static final int TAG_CATEGORY_LENGTH = TAG_CATEGORY.length; 57 public static final int TAG_AUTHOR_LENGTH = TAG_AUTHOR.length; 58 public static final int TAG_SERIAL_LENGTH = TAG_SERIAL.length; 59 public static final int TAG_SERIAL_DATA_LENGTH = TAG_SERIAL_DATA.length; 60 public static final int TAG_SERIAL_FIELD_LENGTH = TAG_SERIAL_FIELD.length; 61 public static final int TAG_SINCE_LENGTH = TAG_SINCE.length; 62 public static final int TAG_VERSION_LENGTH = TAG_VERSION.length; 63 public static final int TAG_CODE_LENGTH = TAG_CODE.length; 64 public static final int TAG_LITERAL_LENGTH = TAG_LITERAL.length; 65 public static final int TAG_DOC_ROOT_LENGTH = TAG_DOC_ROOT.length; 66 67 // tags value 68 public static final int NO_TAG_VALUE = 0; 69 public static final int TAG_DEPRECATED_VALUE = 1; 70 public static final int TAG_PARAM_VALUE = 2; 71 public static final int TAG_RETURN_VALUE = 3; 72 public static final int TAG_THROWS_VALUE = 4; 73 public static final int TAG_EXCEPTION_VALUE = 5; 74 public static final int TAG_SEE_VALUE = 6; 75 public static final int TAG_LINK_VALUE = 7; 76 public static final int TAG_LINKPLAIN_VALUE = 8; 77 public static final int TAG_INHERITDOC_VALUE = 9; 78 public static final int TAG_VALUE_VALUE = 10; 79 public static final int TAG_CATEGORY_VALUE = 11; 80 public static final int TAG_AUTHOR_VALUE = 12; 81 public static final int TAG_SERIAL_VALUE = 13; 82 public static final int TAG_SERIAL_DATA_VALUE = 14; 83 public static final int TAG_SERIAL_FIELD_VALUE = 15; 84 public static final int TAG_SINCE_VALUE = 16; 85 public static final int TAG_VERSION_VALUE = 17; 86 public static final int TAG_CODE_VALUE = 18; 87 public static final int TAG_LITERAL_VALUE = 19; 88 public static final int TAG_DOC_ROOT_VALUE = 20; 89 public static final int TAG_OTHERS_VALUE = 100; 90 91 // Tag names array 92 public static final char[][] TAG_NAMES = { 93 CharOperation.NO_CHAR, 94 TAG_DEPRECATED, /* 1 */ 95 TAG_PARAM, /* 2 */ 96 TAG_RETURN, /* 3 */ 97 TAG_THROWS, /* 4 */ 98 TAG_EXCEPTION, /* 5 */ 99 TAG_SEE, /* 6 */ 100 TAG_LINK, /* 7 */ 101 TAG_LINKPLAIN, /* 8 */ 102 TAG_INHERITDOC, /* 9 */ 103 TAG_VALUE, /* 10 */ 104 TAG_CATEGORY, /* 11 */ 105 TAG_AUTHOR, /* 12 */ 106 TAG_SERIAL, /* 13 */ 107 TAG_SERIAL_DATA, /* 14 */ 108 TAG_SERIAL_FIELD, /* 15 */ 109 TAG_SINCE, /* 16 */ 110 TAG_VERSION, /* 17 */ 111 TAG_CODE, /* 18 */ 112 TAG_LITERAL, /* 19 */ 113 TAG_DOC_ROOT, /* 20 */ 114 }; 115 116 // tags expected positions 117 public final static int ORDERED_TAGS_NUMBER = 3; 118 public final static int PARAM_TAG_EXPECTED_ORDER = 0; 119 public final static int THROWS_TAG_EXPECTED_ORDER = 1; 120 public final static int SEE_TAG_EXPECTED_ORDER = 2; 121 122 /* 123 * Tag kinds indexes 124 */ 125 public final static int BLOCK_IDX = 0; 126 public final static int INLINE_IDX = 1; 127 128 // href tag 129 public final static char[] HREF_TAG = {'h', 'r', 'e', 'f'}; 130 /* 131 * Tags versions 132 */ 133 public static final char[][][] BLOCK_TAGS = { 134 // since 1.0 135 { TAG_AUTHOR, TAG_DEPRECATED, TAG_EXCEPTION, TAG_PARAM, TAG_RETURN, TAG_SEE, TAG_VERSION, TAG_CATEGORY /* 1.6 tag but put here as we support it for all compliances */ }, 136 // since 1.1 137 { TAG_SINCE }, 138 // since 1.2 139 { TAG_SERIAL, TAG_SERIAL_DATA, TAG_SERIAL_FIELD , TAG_THROWS }, 140 // since 1.3 141 {}, 142 // since 1.4 143 {}, 144 // since 1.5 145 {}, 146 // since 1.6 147 {}, 148 // since 1.7 149 {}, 150 // since 1.8 151 {} 152 }; 153 public static final char[][][] INLINE_TAGS = { 154 // since 1.0 155 {}, 156 // since 1.1 157 {}, 158 // since 1.2 159 { TAG_LINK }, 160 // since 1.3 161 { TAG_DOC_ROOT }, 162 // since 1.4 163 { TAG_INHERITDOC, TAG_LINKPLAIN, TAG_VALUE }, 164 // since 1.5 165 { TAG_CODE, TAG_LITERAL }, 166 // since 1.6 167 {}, 168 // since 1.7 169 {}, 170 // since 1.8 171 {} 172 }; 173 public final static int INLINE_TAGS_LENGTH = INLINE_TAGS.length; 174 public final static int BLOCK_TAGS_LENGTH = BLOCK_TAGS.length; 175 public final static int ALL_TAGS_LENGTH = BLOCK_TAGS_LENGTH+INLINE_TAGS_LENGTH; 176 177 public final static short TAG_TYPE_NONE = 0; 178 public final static short TAG_TYPE_INLINE = 1; 179 public final static short TAG_TYPE_BLOCK = 2; 180 181 public static final short[] JAVADOC_TAG_TYPE = { 182 TAG_TYPE_NONE, // NO_TAG_VALUE = 0; 183 TAG_TYPE_BLOCK, // TAG_DEPRECATED_VALUE = 1; 184 TAG_TYPE_BLOCK, // TAG_PARAM_VALUE = 2; 185 TAG_TYPE_BLOCK, // TAG_RETURN_VALUE = 3; 186 TAG_TYPE_BLOCK, // TAG_THROWS_VALUE = 4; 187 TAG_TYPE_BLOCK, // TAG_EXCEPTION_VALUE = 5; 188 TAG_TYPE_BLOCK, // TAG_SEE_VALUE = 6; 189 TAG_TYPE_INLINE, // TAG_LINK_VALUE = 7; 190 TAG_TYPE_INLINE, // TAG_LINKPLAIN_VALUE = 8; 191 TAG_TYPE_INLINE, // TAG_INHERITDOC_VALUE = 9; 192 TAG_TYPE_INLINE, // TAG_VALUE_VALUE = 10; 193 TAG_TYPE_BLOCK, // TAG_CATEGORY_VALUE = 11; 194 TAG_TYPE_BLOCK, // TAG_AUTHOR_VALUE = 12; 195 TAG_TYPE_BLOCK, // TAG_SERIAL_VALUE = 13; 196 TAG_TYPE_BLOCK, // TAG_SERIAL_DATA_VALUE = 14; 197 TAG_TYPE_BLOCK, // TAG_SERIAL_FIELD_VALUE = 15; 198 TAG_TYPE_BLOCK, // TAG_SINCE_VALUE = 16; 199 TAG_TYPE_BLOCK, // TAG_VERSION_VALUE = 17; 200 TAG_TYPE_INLINE, // TAG_CODE_VALUE = 18; 201 TAG_TYPE_INLINE, // TAG_LITERAL_VALUE = 19; 202 TAG_TYPE_INLINE // TAG_DOC_ROOT_VALUE = 20; 203 }; 204 /* 205 * Tags usage 206 */ 207 public static final char[][] PACKAGE_TAGS = { 208 TAG_SEE, 209 TAG_SINCE, 210 TAG_SERIAL, 211 TAG_AUTHOR, 212 TAG_VERSION, 213 TAG_CATEGORY, 214 TAG_LINK, 215 TAG_LINKPLAIN, 216 TAG_DOC_ROOT, 217 TAG_VALUE, 218 }; 219 public static final char[][] COMPILATION_UNIT_TAGS = {}; 220 public static final char[][] CLASS_TAGS = { 221 TAG_SEE, 222 TAG_SINCE, 223 TAG_DEPRECATED, 224 TAG_SERIAL, 225 TAG_AUTHOR, 226 TAG_VERSION, 227 TAG_PARAM, 228 TAG_CATEGORY, 229 TAG_LINK, 230 TAG_LINKPLAIN, 231 TAG_DOC_ROOT, 232 TAG_VALUE, 233 TAG_CODE, 234 TAG_LITERAL 235 }; 236 public static final char[][] FIELD_TAGS = { 237 TAG_SEE, 238 TAG_SINCE, 239 TAG_DEPRECATED, 240 TAG_SERIAL, 241 TAG_SERIAL_FIELD, 242 TAG_CATEGORY, 243 TAG_LINK, 244 TAG_LINKPLAIN, 245 TAG_DOC_ROOT, 246 TAG_VALUE, 247 TAG_CODE, 248 TAG_LITERAL 249 }; 250 public static final char[][] METHOD_TAGS = { 251 TAG_SEE, 252 TAG_SINCE, 253 TAG_DEPRECATED, 254 TAG_PARAM, 255 TAG_RETURN, 256 TAG_THROWS, 257 TAG_EXCEPTION, 258 TAG_SERIAL_DATA, 259 TAG_CATEGORY, 260 TAG_LINK, 261 TAG_LINKPLAIN, 262 TAG_INHERITDOC, 263 TAG_DOC_ROOT, 264 TAG_VALUE, 265 TAG_CODE, 266 TAG_LITERAL 267 }; 268 } 269