For creating custom annotations we need to decide
For this, we have built in custom annotations. Check out these mostly used ones:
@Target
@Retention
Creating Custom Annotation
@Retention(RetentionPolicy.SOURCE) // will not be available in compiled class
@Target(ElementType.METHOD) // can be applied to methods only
@interface CustomAnnotation{
int value();
}
Using Custom Annotation
class Foo{
@CustomAnnotation(value = 1) // will be used by an annotation processor
public void foo(){..}
}
the value provided inside @CustomAnnotation
will be consumed by an Annotationprocessor may be to generate code at compile time etc.