Annotation can be classified in 2 ways :
There are two types of annotations available with JDK5:
Based on the number of arguments
There are three annotation types:
Marker
Marker type annotations have no elements, except the annotation name itself.
Example:
Single-Element
Single-element, or single-value type, annotations provide a single piece of data only. This can be represented with a data=value pair or, simply with the value (a shortcut syntax) only, within parenthesis.
Example:
Full-value or multi-value
Full-value type annotations have multiple data members. Therefore, you must use a full data=value parameter syntax for each member.
Example:
- Based on what they are annotating
- Based on the number of arguments
There are two types of annotations available with JDK5:
- Simple annotations: These are the basic types supplied with Tiger, which you can use to annotate your code only; you cannot use those to create a custom annotation type.
- Meta annotations: These are the annotation types designed for annotating annotation-type declarations. Simply speaking, these are called the annotations-of-annotations.
Based on the number of arguments
There are three annotation types:
Marker
Marker type annotations have no elements, except the annotation name itself.
Example:
public @interface MyAnnotation {Usage:
}
@MyAnnotation
public void mymethod() {
....
}
Single-Element
Single-element, or single-value type, annotations provide a single piece of data only. This can be represented with a data=value pair or, simply with the value (a shortcut syntax) only, within parenthesis.
Example:
public @interface MyAnnotationUsage:
{
String doSomething();
}
@MyAnnotation ("What to do")
public void mymethod() {
....
}
Full-value or multi-value
Full-value type annotations have multiple data members. Therefore, you must use a full data=value parameter syntax for each member.
Example:
public @interface MyAnnotation {Usage:
String doSomething();
int count; String date();
}
@MyAnnotation (doSomething="What to do", count=1,
date="09-09-2005")
public void mymethod() {
....
}
No comments:
Post a Comment