All Downloads are FREE. Search and download functionalities are using the official Maven repository.

javax.management.timer.TimerMBean Maven / Gradle / Ivy

The newest version!
/*
 * Copyright (C) The MX4J Contributors.
 * All rights reserved.
 *
 * This software is distributed under the terms of the MX4J License version 1.0.
 * See the terms of the MX4J License in the documentation provided with this software.
 */

package javax.management.timer;

import java.util.Date;
import java.util.Vector;
import javax.management.InstanceNotFoundException;

/**
 * Management interface for the {@link Timer} class.
 *
 * @version $Revision: 1.6 $
 */
public interface TimerMBean
{
   /**
    * Shortcut for {@link #addNotification(String,String,Object,Date,long,long,boolean) addNotification(type, message, userData, date, 0L, 0L, false)}
    */
   public Integer addNotification(String type, String message, Object userData, Date date) throws IllegalArgumentException;

   /**
    * Shortcut for {@link #addNotification(String,String,Object,Date,long,long,boolean) addNotification(type, message, userData, date, period, 0L, false)}
    */
   public Integer addNotification(String type, String message, Object userData, Date date, long period) throws IllegalArgumentException;

   /**
    * Shortcut for {@link #addNotification(String,String,Object,Date,long,long,boolean) addNotification(type, message, userData, date, period, occurences, false)}
    */
   public Integer addNotification(String type, String message, Object userData, Date date, long period, long occurences) throws IllegalArgumentException;

   /**
    * Adds a notification to this Timer. 
* If the date is before the current date, and the notification is one-shot, it will be delivered immediately. * * @param type The type of the notification * @param message The message of the notification * @param userData The custom user data of the notification * @param date The date at which the notification should be delivered the first time * @param period The period of time between notifications delivers * @param occurences The number of occurrences the notification should be delivered * @param fixedRate True if the periodic notification should be sent at fixed rate, false if should be sent at fixed delay * @return The identifier for the notification * @throws IllegalArgumentException If some of the parameters has illegal value */ public Integer addNotification(String type, String message, Object userData, Date date, long period, long occurences, boolean fixedRate) throws IllegalArgumentException; /** * Returns all identifiers for notifications added to this Timer */ public Vector getAllNotificationIDs(); /** * Returns the date for the notification with the given identifier * * @param id The notification identifier */ public Date getDate(Integer id); /** * Returns whether the periodic notification with the given identifier is delivered at fixed rate or not * * @param id The notification identifier */ public Boolean getFixedRate(Integer id); /** * Returns the number of notifications added to this Timer */ public int getNbNotifications(); /** * Returns the number of times the notification with the given identifier is delivered. * * @param id The notification identifier */ public Long getNbOccurences(Integer id); /** * Returns the identifiers of the notifications with the given type * * @param type The notification type */ public Vector getNotificationIDs(String type); /** * Returns the message of the notification with the given identifier * * @param id The notification identifier */ public String getNotificationMessage(Integer id); /** * Returns the type of the notification with the given identifier * * @param id The notification identifier */ public String getNotificationType(Integer id); /** * Returns the user data of the notification with the given identifier * * @param id The notification identifier */ public Object getNotificationUserData(Integer id); /** * Returns the period between the deliver of two notifications for the notification with the given identifier * * @param id The notification identifier */ public Long getPeriod(Integer id); /** * Returns whether this Timer delivers notifications that occurred while it has been stopped * * @see #setSendPastNotifications */ public boolean getSendPastNotifications(); /** * Returns whether this Timer delivers notifications or not. * * @see #start * @see #stop */ public boolean isActive(); /** * Returns whether this Timer has notifications to deliver. */ public boolean isEmpty(); /** * Removes all notifications from this Timer */ public void removeAllNotifications(); /** * Removes all notifications with the given type * * @param type The type of the notifications to be removed * @throws InstanceNotFoundException If no notifications with the given type are present */ public void removeNotifications(String type) throws InstanceNotFoundException; /** * Removes the notification with the given identifier * * @param id The identifier of the notification to be removed * @throws InstanceNotFoundException If no notification with the given identifier is present */ public void removeNotification(Integer id) throws InstanceNotFoundException; /** * Sets whether this Timer delivers notifications that occurred while it has been stopped * * @see #getSendPastNotifications */ public void setSendPastNotifications(boolean value); /** * Starts this Timer.
* Only when a Timer is started it delivers notifications. * If {@link #getSendPastNotifications} returns true, this Timer sends notifications that were waiting * to be delivered, otherwise it updates the notification times to the next deliver. * * @see #stop */ public void start(); /** * Stops this Timer.
* * @see #start */ public void stop(); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy