01: /*
02: * Timer: The timer class
03: * Copyright (C) 2006-2007 Rift IT Contracting
04: *
05: * This library is free software; you can redistribute it and/or
06: * modify it under the terms of the GNU Lesser General Public
07: * License as published by the Free Software Foundation; either
08: * version 2.1 of the License, or (at your option) any later version.
09: *
10: * This library is distributed in the hope that it will be useful,
11: * but WITHOUT ANY WARRANTY; without even the implied warranty of
12: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13: * Lesser General Public License for more details.
14: *
15: * You should have received a copy of the GNU Lesser General Public
16: * License along with this library; if not, write to the Free Software
17: * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18: *
19: * TimerInterface.java
20: */
21:
22: // the package path
23: package com.rift.coad.daemon.timer;
24:
25: // the java imports
26: import java.io.Serializable;
27: import java.rmi.Remote;
28: import java.rmi.RemoteException;
29: import java.util.ArrayList;
30:
31: /**
32: * The timer interface, supplies a means to add events for a specific target
33: * defined by JNDI.
34: *
35: * @author Glynn Chaldecott
36: */
37: public interface Timer extends Remote {
38:
39: /**
40: * This method is called in order to register an event on the database.
41: *
42: * @param JNDI This is a string for the JNDI of the daemon that is to be
43: * called by the event.
44: * @param month The month of the event. -1 will occur monthly.
45: * @param day The day of the event. -1 will occur daily.
46: * @param hour The hour of the event. -1 will occur hourly.
47: * @param minute The minute of the event. -1 will occur every minute.
48: * @param event This is a serializable object used to identify an individual
49: * event.
50: * @param recure The value of this indicates whether an event will occur
51: * more then once of be deleted from the database after a single
52: * occurence. True will cause it to recure, false will result in it
53: * being deleted after a single occurence
54: */
55: public void register(String JNDI, int month, int day, int hour,
56: int minute, Serializable event, boolean recure)
57: throws RemoteException, TimerException;
58:
59: /**
60: * This method returns a list of all the events currently stored in the
61: * database.
62: *
63: * @return The method returns a List of TimerEvent objects. The TimerEvent
64: * object contains all the properties of an event from the
65: * database.
66: */
67: public TimerEvent[] listEvents() throws RemoteException,
68: TimerException;
69:
70: /**
71: * This method deletes an event based on a supplied event ID which
72: * corresponds to the database ID.
73: *
74: * @param eventID The database ID of the event.
75: */
76: public void deleteEvent(int eventId) throws RemoteException,
77: TimerException;
78: }
|