Pomocí anotace @Interface můžete vytvořit svoji vlastní definici anotace.
Definování vlastních anotací
Použijte anotaci @Interface k vytvoření vlastní definice anotace:
- Definice anotací připomínají definice rozhraní.
- Deklarace metod anotací nemají parametry ani klauzule throws. Vrací jeden z těchto prvků:
- Primitiva.
- Řetězec.
- Třída.
- Výčet.
- Pole prvků výše uvedených typů.
- Metody mohou mít výchozí hodnoty.
public @interface CreatedBy{
String name();
String date();
boolean contractor() default false;
}
@CreatedBy(name = "Mary Smith",date="02/02/2008");
public class MyClass{....}
Meta-anotace: Metaanotace (anotace anotací) poskytují další informace o způsobu použití anotací:
- @Target
- Omezuje použití anotace.
- Jediný argument musí být z výčtu ElementType.
- {TYPE, FIELD,METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE, ANNOTATION_TYPE}
- @Retention
- Označuje, zda se má zachovávat informace anotace.
- Jediný argument musí být z výčtu RetentionPolicy.
- @Documented
- Značka pro anotace, které mají být zahrnuty do dokumentace Javadoc.
- @Inherited
- Značka pro anotace typu, které mají být zděděny podtypy.
Další vestavěné anotace:
- @Overrides
- Platí pro metodu.
- Označuje, že kompilátor má generovat chybu v případě, že metoda skutečně nepotlačuje metodu supertřídy.
- @Deprecated
- Platí pro metodu.
- Označuje, že kompilátor má generovat varování v případě externího použití metody.
- @SuppressWarnings
- Platí pro typ nebo metodu.
- Označuje, že kompilátor má potlačit varování pro daný prvek a všechny dílčí prvky.
@Deprecated
public void oldMethod() {...}
@ SupressWarnings
public void yesIknowIuseDeprecatedMethods() {...}