- Java Programming Basics
- Java Tutorial
- Java Overview
- Java Environment Setup
- Java Program Structure
- Java Basic Syntax
- Java First Program
- Java Constants
- Java Separators
- Java Keywords
- Java Data Types
- Java Data Types
- Java Integers
- Java Floating Point
- Java Characters
- Java Booleans
- Java Numbers
- Java Programming Variables
- Java Variables
- Java Variable Types
- Java Variable Scope
- Java Type Conversion
- Java Type Casting
- Java Auto Type Promotion
- Java Type Promotion Rules
- Java Programming Arrays
- Java Arrays
- Java One Dimensional Array
- Java Multidimensional Array
- Java Programming Operators
- Java Operators
- Java Arithmetic Operators
- Java Increment Decrement
- Java Bitwise Operators
- Java Left Shift
- Java Right Shift
- Java Relational Operators
- Java Boolean Logical Operators
- Java Ternary(?) Operator
- Java Operator Precedence
- Java Control Statements
- Java Decision Making
- Java if if-else if-else-if
- Java switch Statement
- Java Loops
- Java while Loop
- Java do-while Loop
- Java for Loop
- Java for-each Loop
- Java Nested Loops
- Java break Statement
- Java continue Statement
- Java Class Object Method
- Java Classes and Objects
- Java Class
- Java Object
- Java new Operator
- Java Methods
- Java Constructors
- Java this Keyword
- Java Stack
- Java Overloading Recursion
- Java Method Overloading
- Java Constructor Overloading
- Java Object as Parameter
- Java Call by Value Reference
- Java Returning Objects
- Java Recursion
- Java Modifier Types
- Java Encapsulate Poly String
- Java Encapsulation
- Java Polymorphism
- Java Nested Inner Class
- Java Strings
- Java Command Line Arguments
- Java Variable Length Arguments
- Java Inheritance Abstraction
- Java Inheritance
- Java super Superclass
- Java Multilevel Hierarchy
- Java Method Overriding
- Java Abstraction
- Java Packages Interfaces
- Java Packages
- Java Access Protection
- Java Import Statement
- Java Interfaces
- Java Programming Exceptions
- Java Exception Handling
- Java try catch
- Java throw throws
- Java finally Block
- Java Built In Exceptions
- Java Exception Subclasses
- Java Chained Exceptions
- Java Multithreading
- Java Multithreading
- Java Thread Model
- Java Main Thread
- Java Create Thread
- Java Thread Priorities
- Java Synchronization
- Java Inter Thread Communication
- Java Suspend Resume Stop Thread
- Java Get Thread State
- Java Enum Autobox Annotation
- Java Enumerations
- Java Type Wrappers
- Java Autoboxing
- Java Annotation
- Java Marker Annotations
- Java Single Member Annotation
- Java Built In Annotations
- Java Type Annotations
- Java Repeating Annotations
- Java Data File Handling
- Java Files I/O
- Java Streams
- Java Read Console Input
- Java Write Console Output
- Java PrintWriter Class
- Java Read Write Files
- Java Automatically Close File
- Java Programming Advance
- Java Date and Time
- Java Regular Expressions
- Java Collections Framework
- Java Generics
- Java Data Structures
- Java Network Programming
- Java Serialization
- Java Send Email
- Java Applet Basics
- Java Documentation
- Java Programming Examples
- Java Programming Examples
Java Marker Annotation
A marker annotation is a special type of annotation which contains no members. Its only purpose is to mark an item. Therefore, its presence as an annotation is sufficient. The best way to determine if a marker annotation is present is to use the method named isAnnotationPresent(), which is defined by the AnnotatedElement interface.
Java Marker Annotation Example
Following is an example that uses a marker annotation. As a marker interface contains no members, simply determining whether it is present or absent is sufficient.
/* Java Program Example - Java Marker Annotation */ import java.lang.annotation.*; import java.lang.reflect.*; /* marker annotation */ @Retention(RetentionPolicy.RUNTIME) @interface MyMarker { } class Marker { /* annotate the method using marker. * Notice that no { } is needed */ @MyMarker public static void myMethod() { Marker obj = new Marker(); try { Method m = obj.getClass().getMethod("myMethod"); /* specify if the annotation is present */ if(m.isAnnotationPresent(MyMarker.class)) System.out.println("MyMarker is present"); } catch(NoSuchMethodException exc) { System.out.println("Method not found..!!"); } } public static void main(String args[]) { myMethod(); } }
The output of the above Java program shown below, confirms that the @MyMarker is present :
MyMarker is present
In the above program, notice that you do not need to follow the @MyMarker with parentheses when it is applied. Thus, the @MyMarker is applied by using its name, like :
@MyMarker
It is now wrong to supply an empty set of parentheses, but they are not needed.
« Previous Tutorial Next Tutorial »