269 * cause a performance slowdown in some environments.
270 *
271 * <p>Each string returned in the set must be accepted by the
272 * following grammar:
273 *
274 * <blockquote>
275 * <dl>
276 * <dt><i>SupportedAnnotationTypeString:</i>
277 * <dd><i>ModulePrefix</i><sub><i>opt</i></sub> <i>TypeName</i> <i>DotStar</i><sub><i>opt</i></sub>
278 * <dd><code>*</code>
279 *
280 * <dt><i>ModulePrefix:</i>
281 * <dd><i>ModuleName</i> <code>/</code>
282 *
283 * <dt><i>DotStar:</i>
284 * <dd><code>.</code> <code>*</code>
285 * </dl>
286 * </blockquote>
287 *
288 * where <i>TypeName</i> and <i>ModuleName</i> are as defined in
289 * <cite>The Java™ Language Specification</cite>
290 * ({@jls 6.5 Determining the Meaning of a Name}).
291 *
292 * @apiNote When running in an environment which supports modules,
293 * processors are encouraged to include the module prefix when
294 * describing their supported annotation types. The method {@link
295 * AbstractProcessor#getSupportedAnnotationTypes
296 * AbstractProcessor.getSupportedAnnotationTypes} provides support
297 * for stripping off the module prefix when running in an
298 * environment without modules.
299 *
300 * @return the names of the annotation types supported by this processor
301 * or an empty set if none
302 * @see javax.annotation.processing.SupportedAnnotationTypes
303 * @jls 3.8 Identifiers
304 */
305 Set<String> getSupportedAnnotationTypes();
306
307 /**
308 * Returns the latest source version supported by this annotation
309 * processor.
|
269 * cause a performance slowdown in some environments.
270 *
271 * <p>Each string returned in the set must be accepted by the
272 * following grammar:
273 *
274 * <blockquote>
275 * <dl>
276 * <dt><i>SupportedAnnotationTypeString:</i>
277 * <dd><i>ModulePrefix</i><sub><i>opt</i></sub> <i>TypeName</i> <i>DotStar</i><sub><i>opt</i></sub>
278 * <dd><code>*</code>
279 *
280 * <dt><i>ModulePrefix:</i>
281 * <dd><i>ModuleName</i> <code>/</code>
282 *
283 * <dt><i>DotStar:</i>
284 * <dd><code>.</code> <code>*</code>
285 * </dl>
286 * </blockquote>
287 *
288 * where <i>TypeName</i> and <i>ModuleName</i> are as defined in
289 * <cite>The Java Language Specification</cite>
290 * ({@jls 6.5 Determining the Meaning of a Name}).
291 *
292 * @apiNote When running in an environment which supports modules,
293 * processors are encouraged to include the module prefix when
294 * describing their supported annotation types. The method {@link
295 * AbstractProcessor#getSupportedAnnotationTypes
296 * AbstractProcessor.getSupportedAnnotationTypes} provides support
297 * for stripping off the module prefix when running in an
298 * environment without modules.
299 *
300 * @return the names of the annotation types supported by this processor
301 * or an empty set if none
302 * @see javax.annotation.processing.SupportedAnnotationTypes
303 * @jls 3.8 Identifiers
304 */
305 Set<String> getSupportedAnnotationTypes();
306
307 /**
308 * Returns the latest source version supported by this annotation
309 * processor.
|