The Artima Developer Community
Sponsored Link

Java Buzz Forum
Java Tutorial: Annotations in java | Java annotations [repeating Annotations in Java - Schedule]

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
Ram N

Posts: 2777
Nickname: ramram
Registered: Jul, 2014

Ram N is Java Programmer
Java Tutorial: Annotations in java | Java annotations [repeating Annotations in Java - Schedule] Posted: May 12, 2017 6:49 AM
Reply to this message Reply

This post originated from an RSS feed registered with Java Buzz by Ram N.
Original Post: Java Tutorial: Annotations in java | Java annotations [repeating Annotations in Java - Schedule]
Feed Title: JAVA EE
Feed URL: http://ramj2ee.blogspot.com/feeds/posts/default?alt=rss
Feed Description: This blog has viedo tutorials and Sample codes related to below Technologies. 1.J2EE 2.Java 3.Spring 4.Hibernate 5.Database 6.Oracle 7.Mysql 8.Design Patterns
Latest Java Buzz Posts
Latest Java Buzz Posts by Ram N
Latest Posts From JAVA EE

Advertisement

Click here to watch in Youtube : 
https://www.youtube.com/watch?v=t9cNw4-xi0c&list=UUhwKlOVR041tngjerWxVccw

ServerRestartSchedule.java
import java.lang.annotation.Repeatable;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;

/*
* Step 1: Declare a Repeatable Annotation Type
*
* The annotation type must be marked with the
*
* @Repeatable meta-annotation.
*
* The value of the @Repeatable meta-annotation, in
* parentheses, is the type of the container
* annotation that the Java compiler generates to
* store repeating annotations. In this example, the
* containing annotation type is Schedules, so
* repeating @Schedule annotations is stored in an
* @Schedules annotation.
*/


@Repeatable(Schedules.class)
@interface Schedule
{

String dayOfMonth() default "first";

String dayOfWeek() default "Mon";

int hour() default 12;
}

/*
* Step 2: Declare the Containing Annotation Type
*
* The containing annotation type must have a value element
* with an array type. The component type of the array type
* must be the repeatable annotation type.
*/

@Retention(RetentionPolicy.RUNTIME)
@interface Schedules
{
Schedule[] value();
}

@Schedule
@Schedule(dayOfMonth = "second", dayOfWeek = "Tue", hour = 17)
@Schedule(dayOfMonth = "third", dayOfWeek = "Wed", hour = 24)
public class ServerRestartSchedule
{

}
RepeatingAnnotations.java
public class RepeatingAnnotations
{

public static void main(String[] args)
{

/*
* Retrieving Annotations using Reflection API
* method
*/

Schedules schedules = ServerRestartSchedule.class
.getAnnotation(Schedules.class);
System.out.println(schedules);
Schedule[] scheduleArray = schedules.value();
for (Schedule schedule : scheduleArray)
{
System.out.println(schedule + " , dayOfMonth = "
+ schedule.dayOfMonth() + " , dayOfWeek = "
+ schedule.dayOfWeek() + " , hour = " + schedule.hour());
}

}
}
Output
@Schedules(value=[@Schedule(hour=12, dayOfMonth=first, dayOfWeek=Mon), 
@Schedule(hour=17, dayOfMonth=second, dayOfWeek=Tue),
@Schedule(hour=24, dayOfMonth=third, dayOfWeek=Wed)])

@Schedule(hour=12, dayOfMonth=first, dayOfWeek=Mon) ,
dayOfMonth = first , dayOfWeek = Mon , hour = 12

@Schedule(hour=17, dayOfMonth=second, dayOfWeek=Tue) ,
dayOfMonth = second , dayOfWeek = Tue , hour = 17

@Schedule(hour=24, dayOfMonth=third, dayOfWeek=Wed) ,
dayOfMonth = third , dayOfWeek = Wed , hour = 24
Click the below link to download the code:
https://sites.google.com/site/ramj2eev1/home/javabasics/AnnotationDemo_Repeating_Sch_App.zip?attredirects=0&d=1

Github Link:
https://github.com/ramram43210/Java/tree/master/BasicJava/AnnotationDemo_Repeating_Sch_App

Bitbucket Link:
https://bitbucket.org/ramram43210/java/src/47d09ebb24294f7b507419345f38ec4cde27d544/BasicJava/AnnotationDemo_Repeating_Sch_App/?at=master

See also:
  • All JavaEE Viedos Playlist
  • All JavaEE Viedos
  • All JAVA EE Links
  • Servlets Tutorial
  • All Design Patterns Links
  • JDBC Tutorial
  • Java Collection Framework Tutorial
  • JAVA Tutorial
  • Kids Tutorial
  • Read: Java Tutorial: Annotations in java | Java annotations [repeating Annotations in Java - Schedule]

    Topic: Yet another Jigsaw opinion piece Previous Topic   Next Topic Topic: Java vs. Google's Go: An epic battle for developer mind share

    Sponsored Links



    Google
      Web Artima.com   

    Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use