1 /*
2 * Licensed to the Apache Software Foundation (ASF) under one
3 * or more contributor license agreements. See the NOTICE file
4 * distributed with this work for additional information
5 * regarding copyright ownership. The ASF licenses this file
6 * to you under the Apache License, Version 2.0 (the
7 * "License"); you may not use this file except in compliance
8 * with the License. You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
17 */
18 package net.jini.lease;
19
20 /**
21 * Subinterface of <code>LeaseListener</code> that clients must
22 * implement if they want to receive desired expiration reached events
23 * in addition to renewal failure events.
24 *
25 * @author Sun Microsystems, Inc.
26 * @see LeaseRenewalManager
27 */
28 public interface DesiredExpirationListener extends LeaseListener {
29 /**
30 * Method used to delivered desired expiration reached events. The
31 * <code>getException</code> method of the passed event will always
32 * return <code>null</code>.
33 * <p>
34 * Note that, prior to invoking this method, the
35 * <code>LeaseRenewalManager</code> removes the affected lease from
36 * the managed set of leases. Note also that, because of the
37 * reentrancy guarantee made by the
38 * <code>LeaseRenewalManager</code>, it is safe to call back into
39 * the renewal manager from this method.
40 *
41 * @param e instance of <code>LeaseRenewalEvent</code> containing
42 * information about the lease that was removed from the
43 * <code>LeaseRenewalManager</code> because its desired
44 * expiration was reached
45 */
46 public void expirationReached(LeaseRenewalEvent e);
47 }