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

javax.tv.util.TVTimerSpec Maven / Gradle / Ivy

/*
 * @(#)TVTimerSpec.java	1.2 00/08/06
 *
 * Copyright 1998-2000 by Sun Microsystems, Inc.,
 * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
 * All rights reserved.
 * 
 * This software is the confidential and proprietary information
 * of Sun Microsystems, Inc. ("Confidential Information").  You
 * shall not disclose such Confidential Information and shall use
 * it only in accordance with the terms of the license agreement
 * you entered into with Sun.
 */

package javax.tv.util;

import java.util.*;

/**
 * A class representing a timer specification.  A timer specification
 * declares when a TVTimerWentOffEvent should be sent.
 * These events are sent to the listeners registered on the
 * specification.

* *

A TVTimerSpec may be absolute or delayed. * Absolute specifications go off at the specified time. Delayed * specifications go off after waiting the specified amount of time.

* *

Delayed specifications may be repeating or non-repeating. * Repeating specifications automatically reschedule themselves after * going off.

* *

Repeating specifications may be regular or non-regular. Regular * specifications attempt to go off at fixed intervals of time, * irrespective of system load or how long it takes to notify the * listeners. Non-regular specifications wait the specified amount of * time after all listeners have been called before going off again.

* *

For example, you could create a repeating specification that * goes off every 100 milliseconds. Furthermore, imagine that it * takes 5 milliseconds to notify the listeners every time it goes * off. If the specification is regular, the listeners will be * notified after 100 milliseconds, 200 milliseconds, 300 * milliseconds, and so on. If the specification is non-regular, the * listeners will be notified after 100 milliseconds, 205 * milliseconds, 310 milliseconds, and so on.

* */ public class TVTimerSpec { /** * Creates a timer specification. It initially is absolute, * non-repeating, regular specification set to go off at time 0. */ public TVTimerSpec() { } /** * Sets this specification to be absolute or delayed. */ public void setAbsolute(boolean absolute) { } /** * Checks if this specification is absolute. */ public boolean isAbsolute() { return false; } /** * Sets this specification to be repeating or non-repeating. */ public void setRepeat(boolean repeat) { } /** * Checks if this specification is repeating. */ public boolean isRepeat() { return false; } /** * Sets this specification to be regular or non-regular. */ public void setRegular(boolean regular) { } /** * Checks if this specification is regular. */ public boolean isRegular() { return false; } /** * Sets when this specification should go off. For absolute * specifications, this is a time in milliseconds since midnight, * January 1, 1970 UTC. For delayed specifications, this is a * delay time in milliseconds. * * @param time The time when this specification should go off. */ public void setTime(long time) { } /** * Returns the absolute or delay time when this specification * will go off. */ public long getTime() { return 0l; } // listeners /** * Registers a listener with this timer specification. * @param l The listener to add. */ public void addTVTimerWentOffListener(TVTimerWentOffListener l) { } /** * Removes a listener to this timer specification. Silently does nothing * if the listener was not listening on this specification. * @param l The listener to remove. */ public void removeTVTimerWentOffListener(TVTimerWentOffListener l) { } // convenience functions /** * Sets this specification to go off at the given absolute time. * This is a convenience function equivalent to * setAbsolute(true), setTime(when), * setRepeat(false). * * @param when The absolute time for the specification to go off. */ public void setAbsoluteTime(long when) { } /** * Sets this specification to go off after the given delay time. * This is a convenience function equivalent to * setAbsolute(false), setTime(delay), * setRepeat(false). * * @param delay The relative time for the specification to go off. */ public void setDelayTime(long delay) { } // for the benefit of timer implementations /** * Calls all listeners registered on this timer specification. * This function is primarily for the benefit of those writing * implementations of TVTimers. * * @param source The TVTimer that decided that this specification * should go off. */ public void notifyListeners(TVTimer source) { } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy