VisualBuilder
  Home > Java > Tutorials > Creating User defined Annotation Class - JDK1.5 Tutorial
Tell a friend
Link to us
Total Members
      Members: 84648
     
Sitemap Forum Chat
Home
JDK1.5 Tutorial Home
1 . Printf in Java from C/C++
2 . ForEach Loop in Java
3 . Variable Arguments in Java
4 . New Enhancements in Thread Class
5 . StringBuilder class in Java5.0
6 . Static Import
7 . Enums in Java-1
8 . Special Classes to Process Enums
9 . Autoboxing
10 . Annotations (MetaData)
11 . Creating User defined Annotation Class
12 . Generics
13 . Annotation Processing Tool ( APT )
14 . More Enhancements in Tiger.
15 . Java Compiler (javac) and Debugger
16 . Java Web Start in J2SE 5.0
17 . General Deployment Enhancements in J2SE 5.0
 
Java Group Home
Java Discussion (273)
Java Members (27593)
Java Resources
Java Source Code (1095)
Java Articles (5)
Java Blogs
Java Jobs
Java Components (84)
Java Books
Java Websites (126)
Java News (103)
Java Q & A (114)
- Java Ask Question
- Java Questions
- Java Unanswered Questions
 
GROUPS
.NET
ASP.NET
.NET
C#
ASP
Visual Basic
Java
Java
JSP
EJB
Other
Delphi
C++
Ajax
UML
JavaScript
PHP
Web Design
Web Hosting
SQL Server
Oracle
Project Management
More Groups

 
LEARNING CENTER
TUTORIALS
.NET
.NET Tutorial
ASP Tutorial
ASP.NET Database Tutorial
ASP.NET Development Tips
ASP.Net Security,Internationalisation And Deployment
ASP.NET Server Controls Tips
ASP.NET Tutorial
C Sharp Tutorial
LINQ
Web Development
Flex Tutorial
HTML Tutorial
Learn AJAX Tutorial
PHP Tutorial
Software Development
Database Tutorial
SQL Tutorial
UML Tutorial
Java
Ant Tutorial
EJB 3 Tutorial
Grails Tutorial
Hibernate Tutorial
Java 1.6 Tutorial
Java Tutorial
Java Web Component Tutorial
Java XML Tutorial
JDBC Tutorial
JDK1.5 Tutorial
JSF Tutorial
JSP And J2EE Design Tutorial
JSP Tutorial
Service-Oriented Architecture (SOA) Tutorial For Managers
Spring Tutorial
Struts Tutorial

RESOURCES
Q & A (436 )
Source Code (3275 )
Articles (11 )
Components (1589 )
News (888 )
Websites (1207 )

SUBMISSIONS
Submit Article
Submit Website
Submit News
Submit Source Code
Submit Component

COMMUNITY
Members Directory
Discussion Forum
Chat

SITE
About Us
Sitemap
Search
Contact Us
Link To Us
Feedback
Tell a Friend
Partners
Advertise


Java jdk15 Tutorial
 Creating User defined Annotation Class
  << Prev: Annotations (MetaData) Next: Generics >>

The more advanced uses of annotations include writing an annotation processor that can read a Java program and take actions based on its annotations. To make annotation information available at runtime, the annotation type itself must be annotated with @Retention(RetentionPolicy.RUNTIME)


The following example will create one Utility Class for processing the annotation, one class for defining the annotation and a third class to use the annotation and processor class.


 


Example:-


 


(1) HelloAnnotation Class.


 


package com.visualbuilder;


import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;


@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)

public @interface HelloAnnotation
{
}


(2) Utility Class.


 


package com.visualbuilder;

 


import java.lang.reflect.Field;


 


public class Utility {


public static <T> void inject(Class<T> resolveeClass, T resolveeInstance) {
    Field[] fields = resolveeClass.getFields();
    if (fields != null) {
         for (Field field : fields) {
          if (field.getAnnotation(HelloAnnotation.class) != null) {
          try {
                field.set(resolveeInstance, "Hello, Annotation World!");
                } catch (IllegalAccessException e) {
                     e.printStackTrace();
               }
            }
        }
    }
  }
}


(2) CustomAnnotation Class.


 


package com.visualbuilder;

 


public class CustomAnnotation {



@HelloAnnotation
public String hello;


public static void main(String[] args) {
       CustomAnnotation object=new CustomAnnotation();
    Utility.inject(CustomAnnotation.class,object);
        System.out.println(object.hello);
     }


}


Output


The following output will be displayed.


 


Hello, Annotation World!


 


  << Prev: Annotations (MetaData) Next: Generics >>
Java Jdk15 Tutorial Home
Give feedback and win a prize.

 
   Printer Friendly
   Email to a friend
   Add to my Favourites    
  Download PDF version
   Report Bad Submissions
   Submit Feedback
 
  Delicious   Digg   Technorati   Blink   Furl   Reddit   Newsvine   Google Click each image to add
this page to each site.
 
 
Welcome Guest Signup
MEMBER'S PANEL
EMAIL
PASSWORD
Forgot your password?
New User? Click Here!
 
Resend Activation Email!
 
SEARCH
 
 
LINKS
internet fax
Montignac Shop
Gift to Pakistan
 
ADVERTISEMENT
 
PARTNER LIST

More
 
 
 

Home | Login | About Us | Contact Us | Privacy Policy | Advertising