Annotations

  • Uploaded by: Pawan
  • 0
  • 0
  • May 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Annotations as PDF for free.

More details

  • Words: 956
  • Pages: 27
Annotation Jdk1.6 Pawan Modi Senior R&D Engineer

6/25/2009

Senior R&D Engineer

Pag e1

Agenda • • • • • •

Introduction First Example Defining Annotations Annotations Types & Usage Example Summary

6/25/2009

Senior R&D Engineer

Pag e2

Introduction  Annotations are generally a way to add meta-data information to an element.  An annotation type definition takes an "at" (@) sign, followed by the interface keyword plus the annotation name.  An element can be a class, method, field, constructor, variables etc.  This meta-data are processed by the tools i.e. compilers, javadoc, etc. 6/25/2009

Senior R&D Engineer

Pag e3

First Example

6/25/2009

Senior R&D Engineer

Pag e4

Defining Annotation Some rules to define an annotation type



 Annotation declaration should start with an 'at' sign like @, following with an interface keyword, following with the annotation name.  Method declarations should not have any parameters.  Method declarations should not have any throws clauses.  Return types of the method should be one of the following:     

primitives String Class enum array of the above types

6/25/2009

Senior R&D Engineer

Pag e5

Annotation Types 

There are two types of annotations available in JDK5 ◦ Simple annotations:  Just to annotate your code.  Developer cannot use them to create a custom annotation type.  There are only three types of simple annotations provided by JDK5  Override  Deprecated  Suppresswarnings

◦ Meta annotations:  These are the annotation types designed for annotating annotationtype declarations.  Simply speaking, these are called the annotations-of-annotations.

6/25/2009

Senior R&D Engineer

Pag e6

Simple Annotations Override ◦ This annotation tells compiler that method must be an overridden method.

6/25/2009

Senior R&D Engineer

Pag e7

Simple Annotations Conti… 

Deprecated ◦ This annotation informs client not to use this method / class anymore because in the future versions this old method / class may not be supported. ◦ Clients may prepare themselves not to depend on the old method anymore.

6/25/2009

Senior R&D Engineer

Pag e8

Simple Annotations Conti…

6/25/2009

Senior R&D Engineer

Pag e9

Simple Annotations Conti… 

SuppressWarnings ◦ From Java 5.0, references to any of the Collection types should be parameterized. Else the compiler will issue a warning message. The solution for this problem is to make use of @SuppressWarnings annotation.

6/25/2009

Senior R&D Engineer

Pag e 10

Simple Annotations Conti…

6/25/2009

Senior R&D Engineer

Pag e 11

Annotation Types Conti… 

Meta annotations: ◦ These are the annotation types designed for annotating annotation-type declarations. Simply speaking, these are called the annotations-of-annotations. ◦ There are four types of meta-annotations.    

Target Retention Documented Inherited 6/25/2009

Senior R&D Engineer

Pag e 12

Meta Annotations 

Target  tells for which element type this annotation is applicable  It contains the following enumerated types as its value:  @Target(ElementType.TYPE)—can be applied to any element of a class  @Target(ElementType.FIELD)—can be applied to a field or property  @Target(ElementType.METHOD)—can be applied to a method level annotation  @Target(ElementType.PARAMETER)—can be applied to the parameters of a method  @Target(ElementType.CONSTRUCTOR)—can be applied to constructors  @Target(ElementType.LOCAL_VARIABLE)—can be applied to local variables  @Target(ElementType.ANNOTATION_TYPE)—indicates that the declared type itself is an annotation type 6/25/2009

Senior R&D Engineer

Pag e 13

Meta Annotations Conti . . .

6/25/2009

Senior R&D Engineer

Pag e 14

Meta Annotations Conti… Retention  Tells what extent the Annotations should be retained.  The three possible ways of telling this are,  RetentionPolicy.SOURCE—Annotations with this type will be by retained only at the source level and will be ignored by the compiler  RetentionPolicy.CLASS—Annotations with this type will be by retained by the compiler at compile time, but will be ignored by the VM  RetentionPolicy.RUNTIME—Annotations with this type will be retained by the VM so they can be read only at run-time

6/25/2009

Senior R&D Engineer

Pag e 15

Meta Annotations Conti…

6/25/2009

Senior R&D Engineer

Pag e 16

Meta Annotations Conti… Document ◦ indicates that an annotation with this type should be documented by the javadoc tool ◦ By default, annotations are not included in javadoc ◦ But if @Documented is used, it then will be processed by javadoc-like tools and the annotation type information will also be included in the generated document.

6/25/2009

Senior R&D Engineer

Pag e 17

Meta Annotations Conti…

6/25/2009

Senior R&D Engineer

Pag e 18

Meta Annotations Conti… Inherited ◦ It indicates that the annotated class with this type is automatically inherited. ◦ if you define an annotation with the @Inherited tag, then annotate a class with your annotation, and finally extend the class in a subclass. ◦ All properties of the parent class will be inherited into its subclass

6/25/2009

Senior R&D Engineer

Pag e 19

Meta Annotations Conti…

6/25/2009

Senior R&D Engineer

Pag e 20

Example

6/25/2009

Senior R&D Engineer

Pag e 21

Example

6/25/2009

Senior R&D Engineer

Pag e 22

Example Conti…

6/25/2009

Senior R&D Engineer

Pag e 23

Summary  Annotation is a special form of syntactic metadata that can be added to Java source code.  They provide information about various elements of a Java class.  Classes, methods, variables, parameters and packages may be annotated.  There are seven annotations provided in the J2SE 5.0 release.  @Deprecated, @Override, @SuppressWarnings, @Documented, @Inherited, @Retention and @Target.

 These are not data about data but data about classes, methods, instance and static variables etc 6/25/2009

Senior R&D Engineer

Pag e 24

References Online Tutorial  http://en.wikipedia.org/wiki/Java_annotation  http://www.javabeat.net/articles/30-annotationsin-java-50-1.html  http://www.developer.com/java/other/article.php/ 10936_3556176_1  http://java.sun.com/j2se/1.5.0/docs/guide/language/ annotations.html

6/25/2009

Senior R&D Engineer

Pag e 25

Question ?? Kindly send all you queries to the following id. [email protected]

6/25/2009

Senior R&D Engineer

Pag e 26

Thank you!

6/25/2009

Senior R&D Engineer

Pag e 27

Related Documents

Annotations
August 2019 27
Annotations
May 2020 25
Hibernate Annotations
October 2019 30
Hibernate Annotations
November 2019 17
Hibernate Annotations
November 2019 13

More Documents from ""