com.jalios.jdring
Class AlarmEntry

java.lang.Object
  extended by com.jalios.jdring.AlarmEntry
All Implemented Interfaces:
Serializable, Comparable<Object>
Direct Known Subclasses:
MailFetcherAlarmEntry

public class AlarmEntry
extends Object
implements Comparable<Object>, Serializable

This class contains the attributes of an alarm.

Version:
$Revision: 28011 $
Author:
Olivier Dedieu, David Sims, Simon Bécot, Jim Lerner, Ralph Schaer
See Also:
Serialized Form

Field Summary
 long alarmTime
           
 int dayOfMonth
           
 int dayOfWeek
           
 int hour
           
 boolean isRelative
           
 boolean isRepetitive
           
 AlarmListener listener
           
 int minute
           
 int month
           
static String REVISION
           
 int year
           
 
Constructor Summary
AlarmEntry(Date date, AlarmListener listener)
          Creates a new AlarmEntry.
AlarmEntry(int delay, boolean isRepetitive, AlarmListener listener)
          Creates a new AlarmEntry.
AlarmEntry(int minute, int hour, int dayOfMonth, int month, int dayOfWeek, int year, AlarmListener listener)
          Creates a new AlarmEntry.
AlarmEntry(Schedule schedule, AlarmListener listener)
          Creates a new AlarmEntry.
AlarmEntry(String schedule, AlarmListener listener)
          Creates a new AlarmEntry from a (simplified) cron-like schedule.
 
Method Summary
 int compareTo(Object obj)
          Compares this AlarmEntry with the specified AlarmEntry for order.
 boolean equals(Object obj)
          Indicates whether some other AlarmEntry is "equal to" this one.
 AlarmListener getListener()
           
 Date getNextAlarmDate()
          Returns the next alarm date for this entry.
 String toString()
          Returns a string representation of this alarm.
 void updateAlarmTime()
          Updates the alarm time for repetitive alarms.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

REVISION

public static final String REVISION
See Also:
Constant Field Values

minute

public int minute

hour

public int hour

dayOfMonth

public int dayOfMonth

month

public int month

dayOfWeek

public int dayOfWeek

year

public int year

isRelative

public boolean isRelative

isRepetitive

public boolean isRepetitive

alarmTime

public long alarmTime

listener

public transient AlarmListener listener
Constructor Detail

AlarmEntry

public AlarmEntry(Date date,
                  AlarmListener listener)
           throws PastDateException
Creates a new AlarmEntry.

Parameters:
date - the alarm date to be added.
listener - the alarm listener.
Throws:
PastDateException - if the alarm date is in the past (or less than 1 second closed to the current date).

AlarmEntry

public AlarmEntry(int delay,
                  boolean isRepetitive,
                  AlarmListener listener)
           throws PastDateException
Creates a new AlarmEntry.

Parameters:
delay - the alarm delay in minute (relative to now).
isRepetitive - true if the alarm must be reactivated, false otherwise.
listener - the alarm listener.
Throws:
PastDateException - if the alarm date is in the past (or less than 1 second closed to the current date).

AlarmEntry

public AlarmEntry(int minute,
                  int hour,
                  int dayOfMonth,
                  int month,
                  int dayOfWeek,
                  int year,
                  AlarmListener listener)
           throws PastDateException
Creates a new AlarmEntry.

Parameters:
minute - minute of the alarm. Allowed values 0-59.
hour - hour of the alarm. Allowed values 0-23.
dayOfMonth - day of month of the alarm (-1 if every day). This attribute is exclusive with dayOfWeek. Allowed values 1-31.
month - month of the alarm (-1 if every month). Allowed values 0-11 (0 = January, 1 = February, ...). java.util.Calendar constants can be used.
dayOfWeek - day of week of the alarm (-1 if every day). This attribute is exclusive with dayOfMonth. Allowed values 1-7 (1 = Sunday, 2 = Monday, ...). java.util.Calendar constants can be used.
year - year of the alarm. When this field is not set (i.e. -1) the alarm is repetitive (i.e. it is rescheduled when reached).
listener - the alarm listener.
Throws:
PastDateException - if the alarm date is in the past (or less than 1 second closed to the current date).

AlarmEntry

public AlarmEntry(Schedule schedule,
                  AlarmListener listener)
           throws PastDateException
Creates a new AlarmEntry.

Parameters:
schedule - Schedule linked to this alarm
listener - the alarm listener.
Throws:
PastDateException - if the alarm date is in the past (or less than 1 second closed to the current date).

AlarmEntry

public AlarmEntry(String schedule,
                  AlarmListener listener)
           throws PastDateException,
                  ParseException
Creates a new AlarmEntry from a (simplified) cron-like schedule. Schedule format: Minute Hour DayOfMonth Month DayOfWeek Year Asterisks (*) specify when the listener is to be called in every instance of the value of the field. For instance, an asterisk in the Month field would mean that the listener should be called every month. Example:
  • 30 10 * * * * : Every days at 10h30
  • 30 10 * * 2 * : Every monday at 10h30
  • 30 10 1 * * * : The first of the month at 10h30

    Parameters:
    schedule - the schedule string in the cron format.
    listener - the alarm listener.
    Throws:
    PastDateException - if the alarm date is in the past (or less than 1 second closed to the current date).
    ParseException - if the schedule is not a valid schedule string
  • Method Detail

    updateAlarmTime

    public void updateAlarmTime()
    Updates the alarm time for repetitive alarms.


    toString

    public String toString()
    Returns a string representation of this alarm.

    Overrides:
    toString in class Object
    Returns:
    the string.

    compareTo

    public int compareTo(Object obj)
    Compares this AlarmEntry with the specified AlarmEntry for order.

    Specified by:
    compareTo in interface Comparable<Object>
    Parameters:
    obj - the AlarmEntry with which to compare.
    Returns:
    a negative integer, zero, or a positive integer as this AlarmEntry is less than, equal to, or greater than the given AlarmEntry.
    Throws:
    ClassCastException - if the specified Object's type prevents it from being compared to this AlarmEntry.

    equals

    public boolean equals(Object obj)
    Indicates whether some other AlarmEntry is "equal to" this one.

    Overrides:
    equals in class Object
    Parameters:
    obj - the AlarmEntry with which to compare.
    Returns:
    true if this AlarmEntry has the same alarmTime as the alarmTime of the obj argument; false otherwise.

    getNextAlarmDate

    public Date getNextAlarmDate()
    Returns the next alarm date for this entry.

    Returns:
    the next alarm date for this entry.
    Since:
    jcms-5.7.2

    getListener

    public AlarmListener getListener()
    Returns:
    the listener


    Copyright © 2001-2010 Jalios SA. All Rights Reserved.