11 Haziran 2018 Pazartesi

@Target Anotasyonu

Giriş
Şu satırı dahil ederiz.
import java.lang.annotation.Target;
Açıklaması şöyle.
Creating an annotation requires two pieces of information: (1) a retention policy and (2) a target.
A retention policy specifies how long, in terms of the program lifecycle, the annotation should be retained for. 

...
The target of an annotation specifies which Java constructs an annotation can be applied to. 
Şu değerleri alabilir.
Annotation Type
Constructor
Field
Local variable
Method
Module
Package
Parameter
Type
Type Parameter
Type Use

ElementType.ANNOTATION_TYPE
@Transactional ElementType.TYPE olduğu için diğer anotasyonlar içinde kullanılabilir. Şöyle yaparız.
/**
 * Shortcut and more descriptive "alias" for
 {@code @Transactional(propagation = Propagation.MANDATORY)}.
 */
@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Transactional(propagation = Propagation.MANDATORY)
public @interface RequiresExistingTransaction {
}

Element.TYPE
Herhangi bir yerde - class,interface,method,field,enumeration ve diğer anotasyonlar - bu anoyasyon kullanılabilir.
Örnek
Şöyle yaparız.
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface NamedItem {
    String value();
}

Hiç yorum yok:

Yorum Gönder