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 }