|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*/ |
|
|
|
package javax.management.timer; |
|
|
|
|
|
|
|
// java imports |
|
|
|
import java.util.Date; |
|
import java.util.Vector; |
|
// NPCTE fix for bugId 4464388, esc 0, MR , to be added after modification of jmx spec |
|
//import java.io.Serializable; |
|
// end of NPCTE fix for bugId 4464388 |
|
|
|
// jmx imports |
|
|
|
import javax.management.InstanceNotFoundException; |
|
|
|
|
|
|
|
|
|
|
|
*/ |
|
public interface TimerMBean { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*/ |
|
public void start(); |
|
|
|
|
|
|
|
*/ |
|
public void stop(); |
|
|
|
/** |
|
* Creates a new timer notification with the specified <CODE>type</CODE>, <CODE>message</CODE> |
|
* and <CODE>userData</CODE> and inserts it into the list of notifications with a given date, |
|
* period and number of occurrences. |
|
* <P> |
|
* If the timer notification to be inserted has a date that is before the current date, |
|
* the method behaves as if the specified date were the current date. <BR> |
|
* For once-off notifications, the notification is delivered immediately. <BR> |
|
* For periodic notifications, the first notification is delivered immediately and the |
|
* subsequent ones are spaced as specified by the period parameter. |
|
* <P> |
|
* Note that once the timer notification has been added into the list of notifications, |
|
* its associated date, period and number of occurrences cannot be updated. |
|
* <P> |
|
* In the case of a periodic notification, the value of parameter <i>fixedRate</i> is used to |
|
* specify the execution scheme, as specified in {@link java.util.Timer}. |
|
* |
|
* @param type The timer notification type. |
|
* @param message The timer notification detailed message. |
|
* @param userData The timer notification user data object. |
|
* @param date The date when the notification occurs. |
|
* @param period The period of the timer notification (in milliseconds). |
|
* @param nbOccurences The total number the timer notification will be emitted. |
|
* @param fixedRate If <code>true</code> and if the notification is periodic, the notification |
|
* is scheduled with a <i>fixed-rate</i> execution scheme. If |
|
* <code>false</code> and if the notification is periodic, the notification |
|
* is scheduled with a <i>fixed-delay</i> execution scheme. Ignored if the |
|
* notification is not periodic. |
|
* |
|
* @return The identifier of the new created timer notification. |
|
* |
|
* @exception java.lang.IllegalArgumentException The date is {@code null} or |
|
* the period or the number of occurrences is negative. |
|
* |
|
* @see #addNotification(String, String, Object, Date, long, long) |
|
*/ |
|
// NPCTE fix for bugId 4464388, esc 0, MR, to be added after modification of jmx spec |
|
// public synchronized Integer addNotification(String type, String message, Serializable userData, |
|
// Date date, long period, long nbOccurences) |
|
// end of NPCTE fix for bugId 4464388 |
|
|
|
public Integer addNotification(String type, String message, Object userData, |
|
Date date, long period, long nbOccurences, boolean fixedRate) |
|
throws java.lang.IllegalArgumentException; |
|
|
|
/** |
|
* Creates a new timer notification with the specified <CODE>type</CODE>, <CODE>message</CODE> |
|
* and <CODE>userData</CODE> and inserts it into the list of notifications with a given date, |
|
* period and number of occurrences. |
|
* <P> |
|
* If the timer notification to be inserted has a date that is before the current date, |
|
* the method behaves as if the specified date were the current date. <BR> |
|
* For once-off notifications, the notification is delivered immediately. <BR> |
|
* For periodic notifications, the first notification is delivered immediately and the |
|
* subsequent ones are spaced as specified by the period parameter. |
|
* <P> |
|
* Note that once the timer notification has been added into the list of notifications, |
|
* its associated date, period and number of occurrences cannot be updated. |
|
* <P> |
|
* In the case of a periodic notification, uses a <i>fixed-delay</i> execution scheme, as specified in |
|
* {@link java.util.Timer}. In order to use a <i>fixed-rate</i> execution scheme, use |
|
* {@link #addNotification(String, String, Object, Date, long, long, boolean)} instead. |
|
* |
|
* @param type The timer notification type. |
|
* @param message The timer notification detailed message. |
|
* @param userData The timer notification user data object. |
|
* @param date The date when the notification occurs. |
|
* @param period The period of the timer notification (in milliseconds). |
|
* @param nbOccurences The total number the timer notification will be emitted. |
|
* |
|
* @return The identifier of the new created timer notification. |
|
* |
|
* @exception java.lang.IllegalArgumentException The date is {@code null} or |
|
* the period or the number of occurrences is negative. |
|
* |
|
* @see #addNotification(String, String, Object, Date, long, long, boolean) |
|
*/ |
|
// NPCTE fix for bugId 4464388, esc 0, MR , to be added after modification of jmx spec |
|
// public synchronized Integer addNotification(String type, String message, Serializable userData, |
|
// Date date, long period) |
|
// end of NPCTE fix for bugId 4464388 */ |
|
|
|
public Integer addNotification(String type, String message, Object userData, |
|
Date date, long period, long nbOccurences) |
|
throws java.lang.IllegalArgumentException; |
|
|
|
/** |
|
* Creates a new timer notification with the specified <CODE>type</CODE>, <CODE>message</CODE> |
|
* and <CODE>userData</CODE> and inserts it into the list of notifications with a given date |
|
* and period and a null number of occurrences. |
|
* <P> |
|
* The timer notification will repeat continuously using the timer period using a <i>fixed-delay</i> |
|
* execution scheme, as specified in {@link java.util.Timer}. In order to use a <i>fixed-rate</i> |
|
* execution scheme, use {@link #addNotification(String, String, Object, Date, long, long, |
|
* boolean)} instead. |
|
* <P> |
|
* If the timer notification to be inserted has a date that is before the current date, |
|
* the method behaves as if the specified date were the current date. The |
|
* first notification is delivered immediately and the subsequent ones are |
|
* spaced as specified by the period parameter. |
|
* |
|
* @param type The timer notification type. |
|
* @param message The timer notification detailed message. |
|
* @param userData The timer notification user data object. |
|
* @param date The date when the notification occurs. |
|
* @param period The period of the timer notification (in milliseconds). |
|
* |
|
* @return The identifier of the new created timer notification. |
|
* |
|
* @exception java.lang.IllegalArgumentException The date is {@code null} or |
|
* the period is negative. |
|
*/ |
|
// NPCTE fix for bugId 4464388, esc 0, MR , to be added after modification of jmx spec |
|
// public synchronized Integer addNotification(String type, String message, Serializable userData, |
|
// Date date, long period) |
|
// end of NPCTE fix for bugId 4464388 */ |
|
|
|
public Integer addNotification(String type, String message, Object userData, |
|
Date date, long period) |
|
throws java.lang.IllegalArgumentException; |
|
|
|
/** |
|
* Creates a new timer notification with the specified <CODE>type</CODE>, <CODE>message</CODE> |
|
* and <CODE>userData</CODE> and inserts it into the list of notifications with a given date |
|
* and a null period and number of occurrences. |
|
* <P> |
|
* The timer notification will be handled once at the specified date. |
|
* <P> |
|
* If the timer notification to be inserted has a date that is before the current date, |
|
* the method behaves as if the specified date were the current date and the |
|
* notification is delivered immediately. |
|
* |
|
* @param type The timer notification type. |
|
* @param message The timer notification detailed message. |
|
* @param userData The timer notification user data object. |
|
* @param date The date when the notification occurs. |
|
* |
|
* @return The identifier of the new created timer notification. |
|
* |
|
* @exception java.lang.IllegalArgumentException The date is {@code null}. |
|
*/ |
|
// NPCTE fix for bugId 4464388, esc 0, MR, to be added after modification of jmx spec |
|
// public synchronized Integer addNotification(String type, String message, Serializable userData, Date date) |
|
// throws java.lang.IllegalArgumentException { |
|
// end of NPCTE fix for bugId 4464388 |
|
|
|
public Integer addNotification(String type, String message, Object userData, Date date) |
|
throws java.lang.IllegalArgumentException; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*/ |
|
public void removeNotification(Integer id) throws InstanceNotFoundException; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*/ |
|
public void removeNotifications(String type) throws InstanceNotFoundException; |
|
|
|
|
|
|
|
|
|
*/ |
|
public void removeAllNotifications(); |
|
|
|
// GETTERS AND SETTERS |
|
//-------------------- |
|
|
|
|
|
|
|
|
|
|
|
*/ |
|
public int getNbNotifications(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
*/ |
|
public Vector<Integer> getAllNotificationIDs(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*/ |
|
public Vector<Integer> getNotificationIDs(String type); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*/ |
|
public String getNotificationType(Integer id); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*/ |
|
public String getNotificationMessage(Integer id); |
|
|
|
/** |
|
* Gets the timer notification user data object corresponding to the specified identifier. |
|
* |
|
* @param id The timer notification identifier. |
|
* |
|
* @return The timer notification user data object or null if the identifier is not mapped to any |
|
* timer notification registered for this timer MBean. |
|
*/ |
|
// NPCTE fix for bugId 4464388, esc 0 , MR , 03 sept 2001 , to be added after modification of jmx spec |
|
//public Serializable getNotificationUserData(Integer id); |
|
|
|
public Object getNotificationUserData(Integer id); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*/ |
|
public Date getDate(Integer id); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*/ |
|
public Long getPeriod(Integer id); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*/ |
|
public Long getNbOccurences(Integer id); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*/ |
|
public Boolean getFixedRate(Integer id); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*/ |
|
public boolean getSendPastNotifications(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*/ |
|
public void setSendPastNotifications(boolean value); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*/ |
|
public boolean isActive(); |
|
|
|
|
|
|
|
|
|
|
|
*/ |
|
public boolean isEmpty(); |
|
} |