View Javadoc

1   /*
2    * Copyright 2009 Red Hat, Inc.
3    *
4    * Red Hat licenses this file to you under the Apache License, version 2.0
5    * (the "License"); you may not use this file except in compliance with the
6    * License.  You may obtain a copy of the License at:
7    *
8    *    http://www.apache.org/licenses/LICENSE-2.0
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12   * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
13   * License for the specific language governing permissions and limitations
14   * under the License.
15   */
16  package org.jboss.netty.util;
17  
18  /**
19   * A handle associated with a {@link TimerTask} that is returned by a
20   * {@link Timer}.
21   *
22   * @author <a href="http://www.jboss.org/netty/">The Netty Project</a>
23   * @author <a href="http://gleamynode.net/">Trustin Lee</a>
24   * @version $Rev: 2080 $, $Date: 2010-01-26 18:04:19 +0900 (Tue, 26 Jan 2010) $
25   */
26  public interface Timeout {
27  
28      /**
29       * Returns the {@link Timer} that created this handle.
30       */
31      Timer getTimer();
32  
33      /**
34       * Returns the {@link TimerTask} which is associated with this handle.
35       */
36      TimerTask getTask();
37  
38      /**
39       * Returns {@code true} if and only if the {@link TimerTask} associated
40       * with this handle has been expired.
41       */
42      boolean isExpired();
43  
44      /**
45       * Returns {@code true} if and only if the {@link TimerTask} associated
46       * with this handle has been cancelled.
47       */
48      boolean isCancelled();
49  
50      /**
51       * Cancels the {@link TimerTask} associated with this handle.  It the
52       * task has been executed or cancelled already, it will return with no
53       * side effect.
54       */
55      void cancel();
56  }