home *** CD-ROM | disk | FTP | other *** search
Java Source | 1998-03-18 | 2.9 KB | 85 lines |
- /*
- * Copyright (c) 1997 Krumel & Associates, Inc. All Rights Reserved.
- *
- * www.krumel.com - controls@krumel.com
- *
- * Permission is given to the buyer of this package for one software
- * developer to use this software on one CPU (one workstation) and to make
- * one backup copy. You may uitilize and/or modify this class for use in your
- * projects. You may distribute or sell any executable which results from
- * using this code in yur application, except a utility or class of similar
- * nature to this product. You may distribute this product in compiled
- * form only, but soley to be used with your cmpiled executable product
- * for the puposes of dynamic loading. You may NOT redistribute the source
- * code in any form or make it accessible through a network or other
- * distribution media to others. Please refer to the file "copyright.html"
- * for further important copyright and licensing information.
- *
- * The source code is the confidential and proprietary information
- * of Krumel & Associates, 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 Krumel & Associates, Inc..
-
- * KRUMEL & ASSOCIATES MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE
- * SUITABILITY OF THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT
- * NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
- * PARTICULAR PURPOSE, OR NON-INFRINGEMENT. KRUMEL & ASSOCIATES SHALL NOT
- * BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING,
- * MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES.
- */
-
-
- package symantec.itools.db.awt.genutil;
-
- import java.util.*;
-
- class TimerRegistration {
- Observer caller;
- int interval;
- long last;
- boolean active;
-
- TimerRegistration(Observer c, int i) {
- caller = c;
- interval = i;
- last = System.currentTimeMillis();
- }
-
- long next() {
- return last + interval;
- }
-
- void callIfRequired(Timer t, long time) {
- if (active && time > last + interval) {
- //catch all exceptions so as to not kill the notifier thread
- try {
- caller.update(t, this);
- } catch(Exception ex) {
- //this shouldn't happen but in case we hit bad code, print out
- //a message to the console
- ex.printStackTrace();
- }
-
- last = System.currentTimeMillis();
- }
- }
-
- public void activate() {
- active = true;
- last = System.currentTimeMillis();
- }
-
- public void inactivate() { active = false; }
-
- public boolean isActive() { return active; }
-
- public void updateInterval(int newInterval) {
- interval = newInterval;
- }
-
- public int getInterval() { return interval; }
- }
-
-
-