All Downloads are FREE. Search and download functionalities are using the official Maven repository.

aQute.bnd.help.SyntaxAnnotation Maven / Gradle / Ivy

The newest version!
package aQute.bnd.help;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * The purpose of this class is to annotate methods in interfaces. Through a
 * proxy, these interfaces can then be used to access the instructions and
 * clauses in a Processor.
 * 

* There are the following types of instructions: *

    *
  • Typed Parameters - Return is a Map, where T is an annotated * attrs interface. This cannot be optional, it will always return a map, * potentially empty. *
  • Typed Attrs – Return type is a T, where T is not an iterable but yet an * interface annotated with this annotation. This cannot be an Optional. *
  • Attrs – Return type is Attrs. This cannot be an Optional *
  • Parameters – Return type is Parameters. This cannot be an optional. *
  • Lists – Return type is assignable to an iterable. This cannot be an * Optional. *
  • Basic value – Anything else, is handled by the converter. This can be an * Optional. *
*/ @Retention(RetentionPolicy.RUNTIME) @Target({ ElementType.METHOD, ElementType.FIELD }) public @interface SyntaxAnnotation { /** * The property name of the instruction in an Attrs. */ String name() default ""; /** * An example of this property */ String example() default ""; /** * A lead text about this property */ String lead() default ""; /** * A pattern for the key of this parameter */ String pattern() default ""; }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy