01: /*_############################################################################
02: _##
03: _## SNMP4J - DefaultTimerFactory.java
04: _##
05: _## Copyright (C) 2003-2008 Frank Fock and Jochen Katz (SNMP4J.org)
06: _##
07: _## Licensed under the Apache License, Version 2.0 (the "License");
08: _## you may not use this file except in compliance with the License.
09: _## You may obtain a copy of the License at
10: _##
11: _## http://www.apache.org/licenses/LICENSE-2.0
12: _##
13: _## Unless required by applicable law or agreed to in writing, software
14: _## distributed under the License is distributed on an "AS IS" BASIS,
15: _## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16: _## See the License for the specific language governing permissions and
17: _## limitations under the License.
18: _##
19: _##########################################################################*/
20:
21: package org.snmp4j.util;
22:
23: import java.util.*;
24:
25: /**
26: * This <code>DefaultTimerFactory</code> creates a new <code>Timer</code>
27: * which is configured to run as daemon.
28: *
29: * @author Frank Fock
30: * @version 1.9
31: * @since 1.9
32: */
33: public class DefaultTimerFactory implements TimerFactory {
34:
35: public DefaultTimerFactory() {
36: }
37:
38: public CommonTimer createTimer() {
39: return new TimerAdapter();
40: }
41:
42: class TimerAdapter implements CommonTimer {
43:
44: private Timer timer = new Timer(true);
45:
46: public void schedule(TimerTask task, long delay) {
47: timer.schedule(task, delay);
48: }
49:
50: public void cancel() {
51: timer.cancel();
52: }
53:
54: public void schedule(TimerTask task, Date firstTime, long period) {
55: timer.schedule(task, firstTime, period);
56: }
57:
58: public void schedule(TimerTask task, long delay, long period) {
59: timer.schedule(task, delay, period);
60: }
61: }
62: }
|