Creating and Using Custom Annotations
suggest changeFor creating custom annotations we need to decide
- Target - on which these annotations will work on like field level, method level, type level etc.
- Retention - to what level annotation will be available.
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.
Found a mistake? Have a question or improvement idea?
Let me know.
Table Of Contents