You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@river.apache.org by pe...@apache.org on 2020/07/05 11:41:42 UTC
svn commit: r1879521 [8/37] - in
/river/jtsk/modules/modularize/apache-river: ./ browser/
browser/src/main/java/org/apache/river/example/browser/ extra/
groovy-config/ river-activation/ river-collections/
river-collections/src/main/java/org/apache/rive...
Modified: river/jtsk/modules/modularize/apache-river/river-services/fiddler/fiddler-dl/src/main/java/org/apache/river/fiddler/proxy/Fiddler.java
URL: http://svn.apache.org/viewvc/river/jtsk/modules/modularize/apache-river/river-services/fiddler/fiddler-dl/src/main/java/org/apache/river/fiddler/proxy/Fiddler.java?rev=1879521&r1=1879520&r2=1879521&view=diff
==============================================================================
--- river/jtsk/modules/modularize/apache-river/river-services/fiddler/fiddler-dl/src/main/java/org/apache/river/fiddler/proxy/Fiddler.java (original)
+++ river/jtsk/modules/modularize/apache-river/river-services/fiddler/fiddler-dl/src/main/java/org/apache/river/fiddler/proxy/Fiddler.java Sun Jul 5 11:41:39 2020
@@ -1,674 +1,674 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.river.fiddler;
-
-import net.jini.discovery.LookupDiscoveryRegistration;
-
-import org.apache.river.proxy.ThrowThis;
-import org.apache.river.start.ServiceProxyAccessor;
-import net.jini.id.Uuid;
-
-import net.jini.admin.Administrable;
-import net.jini.core.discovery.LookupLocator;
-import net.jini.core.event.RemoteEventListener;
-import net.jini.core.lease.UnknownLeaseException;
-import net.jini.core.lookup.ServiceRegistrar;
-
-import java.rmi.MarshalledObject;
-import java.rmi.Remote;
-import java.rmi.RemoteException;
-
-/**
- * This interface defines the private protocol between the client-side
- * proxy and the server of a lookup discovery service.
- * <p>
- * The declared methods mirror the methods of the LookupDiscoveryService
- * interface. Classes that act as a "smart proxy" to the lookup discovery
- * service typically contain a field which implements this interface.
- * When the lookup discovery service registers with a lookup service,
- * the proxy - containing a "server field" that is an instance of this
- * interface - is registered. It is through the server field that the
- * proxy interacts with the back-end server of the lookup discovery service,
- * on behalf of a client, using the private protocol defined by a class
- * that implements this interface.
- *
- * @author Sun Microsystems, Inc.
- *
- */
-interface Fiddler extends Remote, Administrable, FiddlerAdmin,
- ServiceProxyAccessor
-{
- /**
- * Returns the unique identifier generated (or recovered) by the back-end
- * implementation of the lookup discovery service when an instance of
- * that service is constructed. This ID is typically used to determine
- * equality between the proxies of any two instances of the lookup
- * discovery service.
- *
- * @return the unique ID that was generated (or recovered) by the
- * back-end implementation of the lookup discovery service
- * at creation time
- *
- * @throws java.rmi.RemoteException typically, this exception occurs when
- * there is a communication failure between the client and the
- * lookup discovery service.
- */
- Uuid getProxyID() throws RemoteException;
-
- /**
- * On behalf of a requesting client, creates a registration with the
- * lookup discovery service, which then performs discovery processing
- * on behalf of the client.
- *
- * @param groups String array, none of whose elements may be null,
- * consisting of zero or more names of groups to
- * which lookup services to discover belong.
- *
- * @param locators array of zero or more non-null LookupLocator
- * objects, each corresponding to a specific lookup
- * service to discover.
- *
- * @param listener a non-null instance of RemoteEventListener. This
- * argument specifies the entity that will receive
- * events notifying the registration that a lookup
- * service of interest has been discovered.
- *
- * @param handback null or an instance of MarshalledObject. This
- * argument specifies an object that will be
- * included in the notification event that the
- * lookup discovery service sends to the registered
- * listener.
- *
- * @param leaseDuration long value representing the amount of time (in
- * milliseconds) for which the resources of the
- * lookup discovery service are being requested.
- *
- * @return an instance of the LookupDiscoveryRegistration interface.
- *
- * @throws java.rmi.RemoteException typically, this exception occurs when
- * there is a communication failure between the client and the
- * lookup discovery service. When this exception does occur, the
- * registration may or may not have completed successfully.
- *
- * @see net.jini.discovery.LookupDiscoveryService#register
- */
- LookupDiscoveryRegistration register(String[] groups,
- LookupLocator[] locators,
- RemoteEventListener listener,
- MarshalledObject handback,
- long leaseDuration)
- throws RemoteException;
-
- /**
- * Returns an array consisting of instances of the ServiceRegistrar
- * interface. Each element in the returned set is a proxy to one of
- * the lookup service(s) that have already been discovered for the
- * registration corresponding to the <code>registrationID</code>
- * parameter. Each element of the return set is a marshalled instance
- * of the <code>ServiceRegistrar</code> interface. The contents of the
- * returned set make up the 'remote state' of the registration's
- * currently discovered lookup service(s).
- *
- * @param registrationID unique identifier assigned to the registration
- * from which the set of registrars is being
- * retrieved
- *
- * @return an array of MarshalledObject objects where each element is
- * is a marshalled instance of ServiceRegistrar.
- *
- * @throws java.rmi.RemoteException typically, this exception occurs when
- * there is a communication failure between the client and the
- * lookup discovery service.
- *
- * @throws org.apache.river.proxy.ThrowThis which is a non-remote "wrapper"
- * class used to wrap various remote exceptions (for example,
- * NoSuchObjectException) that this method wishes to throw.
- * When a service is implemented as a smart proxy with a
- * backend server, and a method on the backend which was invoked
- * through the proxy wishes to explicitly throw a particular
- * remote exception, it cannot simply throw that exception if
- * it wishes that exception to be visible to the proxy running
- * on the "client side". This is because when the backend throws
- * any remote exception, the RMI sub-system automatically wraps
- * that exception in a java.rmi.ServerException. Thus, the proxy
- * will only be able to "see" the ServerException (the actual
- * exception that the backend tried to throw is "buried" in the
- * detail field of the ServerException). Thus, in order to allow
- * the proxy access to the actual remote exception this method
- * throws, that exception wraps the desired remote exception in
- * the non-remote exception ThrowThis; which will not be wrapped
- * in a ServerException.
- *
- * This method throws a NoSuchObjectException wrapped in a
- * ThrowThis exception whenever the <code>registrationID</code>
- * parameter references an invalid or non-existent registration.
- *
- * @see net.jini.discovery.LookupDiscoveryRegistration#getRegistrars
- */
- MarshalledObject[] getRegistrars(Uuid registrationID)
- throws RemoteException, ThrowThis;
- /**
- * Returns an array consisting of the names of the groups whose members
- * are lookup services the lookup discovery service will attempt to
- * discover for the registration corresponding to the current instance
- * of this class. This set of group names is referred to as the
- * registration's 'managed set of groups'.
- * <p>
- * If the registration's managed set of groups is currently empty, then
- * the empty array is returned. If the lookup discovery service currently
- * has no managed set of groups for the registration through which the
- * request is being made, then null will be returned.
- *
- * @param registrationID unique identifier assigned to the registration
- * from which the set of groups is being retrieved
- *
- * @return a String array containing the elements of the managed set of
- * groups for the registration.
- *
- * @throws java.rmi.RemoteException typically, this exception occurs when
- * there is a communication failure between the client and the
- * lookup discovery service.
- *
- * @throws java.rmi.NoSuchObjectException wrapped in an instance of
- * org.apache.river.proxy.ThrowThis exception whenever the
- * <code>registrationID</code> parameter references an invalid
- * or non-existent registration. Refer to the description of the
- * <code>getRegistrars</code> method for more information on
- * this exception.
- *
- * @see net.jini.discovery.LookupDiscoveryRegistration#getGroups
- */
- String[] getGroups(Uuid registrationID) throws RemoteException, ThrowThis;
-
- /**
- * Returns an array consisting of the the LookupLocator objects
- * corresponding to specific lookup services the lookup discovery
- * service will attempt to discover for for the registration
- * corresponding to the current instance of this class. This set of
- * locators is referred to as the registration's 'managed set of locators'.
- * <p>
- * If the registration's managed set of locators is currently empty, then
- * the empty array is returned. If the lookup discovery service currently
- * has no managed set of locators for the registration through which the
- * request is being made, then null will be returned.
- *
- * @param registrationID unique identifier assigned to the registration
- * from which the set of locators is being retrieved
- *
- * @return array consisting of net.jini.core.discovery.LookupLocator
- * objects corresponding to the elements of the managed set of
- * locators for the registration.
- *
- * @throws java.rmi.RemoteException typically, this exception occurs when
- * there is a communication failure between the client and the
- * lookup discovery service.
- *
- * @throws java.rmi.NoSuchObjectException wrapped in an instance of
- * org.apache.river.proxy.ThrowThis exception whenever the
- * <code>registrationID</code> parameter references an invalid
- * or non-existent registration. Refer to the description of the
- * <code>getRegistrars</code> method for more information on
- * this exception.
- *
- * @see net.jini.discovery.LookupDiscoveryRegistration#getLocators
- */
- LookupLocator[] getLocators(Uuid registrationID)
- throws RemoteException, ThrowThis;
- /**
- * Adds a set of group names to the managed set of groups associated
- * with the registration corresponding to the current instance of
- * this class.
- *
- * @param registrationID unique identifier assigned to the registration
- * to which the set of groups being augmented
- * corresponds
- * @param groups a String array, none of whose elements may be
- * null, consisting of the group names with which to
- * augment the registration's managed set of groups.
- * <p>
- * If any element of this parameter duplicates any
- * other element of this parameter, the duplicate
- * will be ignored. If any element of this parameter
- * duplicates any element of the registration's
- * current managed set of groups, the duplicate will
- * be ignored.
- * <p>
- * If the empty set is input, then the registration's
- * managed set of groups will not change. If null is
- * input, this method will throw a
- * <code>NullPointerException</code>.
- *
- * @throws java.lang.IllegalStateException this exception occurs when
- * the <code>addGroups</code> method of the discovery
- * manager is invoked after the <code>terminate</code> method
- * of that manager is called.
- *
- * @throws java.lang.UnsupportedOperationException this exception occurs
- * when the lookup discovery service has no managed set of groups
- * associated with the registration.
- *
- * @throws java.lang.NullPointerException this exception occurs when
- * either null is input to the groups parameter, or one or more
- * of the elements of the groups parameter is null.
- *
- * @throws java.rmi.RemoteException typically, this exception occurs when
- * there is a communication failure between the client and the
- * lookup discovery service. When this exception does occur, the
- * registration's managed set of groups may or may not have been
- * successfully augmented.
- *
- * @throws java.rmi.NoSuchObjectException wrapped in an instance of
- * org.apache.river.proxy.ThrowThis exception whenever the
- * <code>registrationID</code> parameter references an invalid
- * or non-existent registration. Refer to the description of the
- * <code>getRegistrars</code> method for more information on
- * this exception.
- *
- * @see net.jini.discovery.LookupDiscoveryRegistration#addGroups
- */
- void addGroups(Uuid registrationID,
- String[] groups) throws RemoteException,ThrowThis;
- /**
- * Replaces all of the group names in the managed set of groups
- * associated with the registration corresponding to the current
- * instance of this class.
- *
- * @param registrationID unique identifier assigned to the registration
- * to which the set of groups being replaced
- * corresponds
- * @param groups a String array, none of whose elements may be
- * null, consisting of the group names with which to
- * replace the names in this registration's managed
- * set of groups.
- * <p>
- * If any element of this parameter duplicates any
- * other element of this parameter, the duplicate
- * will be ignored.
- * <p>
- * If the empty set is input, then group discovery
- * for the registration will cease. If null is input,
- * the lookup discovery service will attempt to
- * discover all as yet undiscovered lookup services
- * located within its multicast radius and, upon
- * discovery of any such lookup service, will send
- * to the registration's listener an event signaling
- * that discovery.
- *
- * @throws java.lang.IllegalStateException this exception occurs when
- * the <code>addGroups</code> method of the discovery
- * manager is invoked after the <code>terminate</code> method
- * of that manager is called.
- *
- * @throws java.lang.NullPointerException this exception occurs when one
- * or more of the elements of the groups parameter is null.
- *
- * @throws java.rmi.RemoteException typically, this exception occurs when
- * there is a communication failure between the client and the
- * lookup discovery service. When this exception does occur, the
- * registration's managed set of groups may or may not have been
- * successfully replaced.
- *
- * @throws java.rmi.NoSuchObjectException wrapped in an instance of
- * org.apache.river.proxy.ThrowThis exception whenever the
- * <code>registrationID</code> parameter references an invalid
- * or non-existent registration. Refer to the description of the
- * <code>getRegistrars</code> method for more information on
- * this exception.
- *
- * @see net.jini.discovery.LookupDiscoveryRegistration#setGroups
- */
- void setGroups(Uuid registrationID,
- String[] groups) throws RemoteException,ThrowThis;
- /**
- * Deletes a set of group names from the managed set of groups
- * associated with the registration corresponding to the current
- * instance of this class.
- *
- * @param registrationID unique identifier assigned to the registration
- * to which the set of groups being removed
- * corresponds
- * @param groups a String array, none of whose elements may be
- * null, consisting of the group names to delete
- * from the registration's managed set of groups.
- * <p>
- * If any element of this parameter duplicates any
- * other element of this parameter, the duplicate
- * will be ignored.
- * <p>
- * If the empty set is input, the registration's
- * managed set of groups will not change. If null is
- * input, this method will throw a
- * <code>NullPointerException</code>.
- *
- * @throws java.lang.IllegalStateException this exception occurs when
- * the <code>addGroups</code> method of the discovery
- * manager is invoked after the <code>terminate</code> method
- * of that manager is called.
- *
- * @throws java.lang.UnsupportedOperationException this exception occurs
- * when the lookup discovery service has no managed set of groups
- * associated with the registration.
- *
- * @throws java.lang.NullPointerException this exception occurs when
- * either null is input to the groups parameter, or one or more
- * of the elements of the groups parameter is null.
- *
- * @throws java.rmi.RemoteException typically, this exception occurs when
- * there is a communication failure between the client and the
- * lookup discovery service. When this exception does occur, the
- * registration's managed set of groups may or may not have been
- * successfully modified.
- *
- * @throws java.rmi.NoSuchObjectException wrapped in an instance of
- * org.apache.river.proxy.ThrowThis exception whenever the
- * <code>registrationID</code> parameter references an invalid
- * or non-existent registration. Refer to the description of the
- * <code>getRegistrars</code> method for more information on
- * this exception.
- *
- * @see net.jini.discovery.LookupDiscoveryRegistration#removeGroups
- */
- void removeGroups(Uuid registrationID,
- String[] groups) throws RemoteException,ThrowThis;
- /**
- * Adds a set of LookupLocator objects to the managed set of locators
- * associated with the registration corresponding to the current
- * instance of this class.
- *
- * @param registrationID unique identifier assigned to the registration
- * to which the set of locators being augmented
- * corresponds
- * @param locators an array, none of whose elements may be null,
- * consisting of the LookupLocator objects with
- * which to augment the registration's managed set
- * of locators.
- * <p>
- * If any element of this parameter duplicates any
- * other element of this parameter, the duplicate
- * will be ignored. If any element of this parameter
- * duplicates any element of the registration's
- * managed set of locators, the duplicate will be
- * ignored.
- * <p>
- * If the empty array is input, then the
- * registration's managed set of locators will not
- * change. If null is input, this method will throw
- * a <code>NullPointerException</code>.
- *
- * @throws java.lang.UnsupportedOperationException this exception occurs
- * when the lookup discovery service has no managed set of
- * locators associated with the registration.
- *
- * @throws java.lang.NullPointerException this exception occurs when
- * either null is input to the locators parameter, or one or
- * more of the elements of the locators parameter is null.
- *
- * @throws java.rmi.RemoteException typically, this exception occurs when
- * there is a communication failure between the client and the
- * lookup discovery service. When this exception does occur, the
- * registration's managed set of locators may or may not have
- * been successfully augmented.
- *
- * @throws java.rmi.NoSuchObjectException wrapped in an instance of
- * org.apache.river.proxy.ThrowThis exception whenever the
- * <code>registrationID</code> parameter references an invalid
- * or non-existent registration. Refer to the description of the
- * <code>getRegistrars</code> method for more information on
- * this exception.
- *
- * @see net.jini.discovery.LookupDiscoveryRegistration#addLocators
- */
- void addLocators(Uuid registrationID,
- LookupLocator[] locators) throws RemoteException,
- ThrowThis;
- /**
- * Replaces with a new set of LookupLocator objects, all of the
- * elements in the managed set of locators associated with the
- * registration corresponding to the current instance of this class.
- *
- * @param registrationID unique identifier assigned to the registration
- * to which the set of locators being replaced
- * corresponds
- * @param locators an array, none of whose elements may be null,
- * consisting of the LookupLocator objects with
- * which to replace the locators in the
- * registration's managed set of locators.
- * <p>
- * If any element of this parameter duplicates any
- * other element of this parameter, the duplicate
- * will be ignored.
- * <p>
- * If the empty array is input, then locator
- * discovery for the registration will cease. If
- * null is input, this method will throw a
- * <code>NullPointerException</code>.
- *
- * @throws java.lang.NullPointerException this exception occurs when one
- * or more of the elements of the locators parameter is null.
- *
- * @throws java.rmi.RemoteException typically, this exception occurs when
- * there is a communication failure between the client and the
- * lookup discovery service. When this exception does occur, the
- * registration's managed set of locators may or may not have
- * been successfully replaced.
- *
- * @throws java.rmi.NoSuchObjectException wrapped in an instance of
- * org.apache.river.proxy.ThrowThis exception whenever the
- * <code>registrationID</code> parameter references an invalid
- * or non-existent registration. Refer to the description of the
- * <code>getRegistrars</code> method for more information on
- * this exception.
- *
- * @see net.jini.discovery.LookupDiscoveryRegistration#setLocators
- */
- void setLocators(Uuid registrationID,
- LookupLocator[] locators) throws RemoteException,
- ThrowThis;
- /**
- * Deletes a set of LookupLocator objects from the managed set of
- * locators associated with the registration corresponding to the
- * current instance of this class.
- *
- * @param registrationID unique identifier assigned to the registration
- * to which the set of locators being removed
- * corresponds
- * @param locators an array, none of whose elements may be null,
- * consisting of the LookupLocator objects to remove
- * from the registration's managed set of locators.
- * <p>
- * If any element of this parameter duplicates any
- * other element of this parameter, the duplicate
- * will be ignored.
- * <p>
- * If the empty set is input, the managed set of
- * locators will not change. If null is input,
- * this method will throw a
- * <code>NullPointerException</code>.
- *
- * @throws java.lang.UnsupportedOperationException this exception occurs
- * when the lookup discovery service has no managed set of
- * locators associated with the registration.
- *
- * @throws java.lang.NullPointerException this exception occurs when
- * either null is input to the locators parameter, or one or
- * more of the elements of the locators parameter is null.
- *
- * @throws java.rmi.RemoteException typically, this exception occurs when
- * there is a communication failure between the client and the
- * lookup discovery service. When this exception does occur, the
- * registration's managed set of locators may or may not have
- * been successfully modified.
- *
- * @throws java.rmi.NoSuchObjectException wrapped in an instance of
- * org.apache.river.proxy.ThrowThis exception whenever the
- * <code>registrationID</code> parameter references an invalid
- * or non-existent registration. Refer to the description of the
- * <code>getRegistrars</code> method for more information on
- * this exception.
- *
- * @see net.jini.discovery.LookupDiscoveryRegistration#removeLocators
- */
- void removeLocators(Uuid registrationID,
- LookupLocator[] locators) throws RemoteException,
- ThrowThis;
- /**
- * Informs the lookup discovery service of the existence of an
- * unavailable lookup service and requests that the lookup discovery
- * service discard the unavailable lookup service.
- *
- * @param registrationID unique identifier assigned to the registration
- * making the current discard request
- * @param registrar a reference to the lookup service that the lookup
- * discovery service is being asked to discard.
- * <p>
- * If this parameter equals none of the lookup
- * services contained in the managed set of lookup
- * services for this registration, no action will
- * be taken.
- *
- * @throws java.lang.NullPointerException this exception occurs when
- * null is input to the registrar parameter.
- *
- * @throws java.rmi.RemoteException typically, this exception occurs when
- * there is a communication failure between the client and the
- * lookup discovery service. When this exception does occur,
- * the lookup service may or may not have been successfully
- * discarded.
- *
- * @throws java.rmi.NoSuchObjectException wrapped in an instance of
- * org.apache.river.proxy.ThrowThis exception whenever the
- * <code>registrationID</code> parameter references an invalid
- * or non-existent registration. Refer to the description of the
- * <code>getRegistrars</code> method for more information on
- * this exception.
- *
- * @see net.jini.discovery.LookupDiscoveryRegistration#discard
- */
- void discard(Uuid registrationID,
- ServiceRegistrar registrar) throws RemoteException, ThrowThis;
-
- /**
- * This method renews the lease corresponding to the given
- * <code>registrationID</code> and <code>leaseID</code> parameters,
- * granting a new duration that is less than or equal to the requested
- * duration value contained in the <code>duration</code> parameter.
- *
- * @param registrationID unique identifier assigned to the registration
- * to which the lease being renewed corresponds
- * @param leaseID identifier assigned by the lease grantor to the
- * lease being renewed
- * @param duration the requested duration for the lease being renewed
- *
- * @return <code>long</code> value representing the actual duration that
- * was granted for the renewed lease. Note that the actual
- * duration granted and returned by this method may be less than
- * the duration requested.
- *
- * @throws net.jini.core.lease.UnknownLeaseException this exception occurs
- * when the lease being renewed does not exist, or is unknown
- * to the lease grantor; typically because the lease has expired.
- *
- * @throws java.rmi.RemoteException typically, this exception occurs when
- * there is a communication failure between the client and the
- * server. When this exception does occur, the lease may or may
- * not have been renewed successfully.
- *
- * @see net.jini.core.lease.Lease#renew
- */
- long renewLease(Uuid registrationID,
- Uuid leaseID,
- long duration) throws UnknownLeaseException,
- RemoteException;
- /**
- * Renews all leases from a <code>LeaseMap</code>.
- * <p>
- * For each element in the <code>registrationIDs</code> parameter,
- * this method will renew the corresponding element in the
- * <code>leaseIDs</code> parameter with the corresponding element
- * in the <code>registrationID</code> parameter.
- *
- * @param registrationIDs array containing the unique identifiers assigned
- * to the each registration to which each lease
- * to be renewed corresponds
- * @param leaseIDs array containing the identifiers assigned by the
- * lease grantor to each lease being renewed
- * @param durations array containing the requested durations for
- * each lease being renewed
- *
- * @return an instance of FiddlerRenewResults containing data corresponding
- * to the results (granted durations or exceptions) of each
- * renewal attempt
- *
- * @throws java.rmi.RemoteException typically, this exception occurs when
- * there is a communication failure between the client and the
- * server. When this exception does occur, this method may or
- * may not have complete its processing successfully.
- *
- * @see net.jini.core.lease.LeaseMap#renewAll
- */
- FiddlerRenewResults renewLeases(Uuid[] registrationIDs,
- Uuid[] leaseIDs,
- long[] durations) throws RemoteException;
- /**
- * This method cancels the lease corresponding to the given
- * <code>registrationID</code> and <code>leaseID</code> parameters.
- *
- * @param registrationID unique identifier assigned to the registration
- * to which the lease being cancelled corresponds
- * @param leaseID identifier assigned by the lease grantor to the
- * lease being cancelled
- *
- * @throws net.jini.core.lease.UnknownLeaseException this exception occurs
- * when the lease being cancelled is unknown to the lease grantor.
- *
- * @throws java.rmi.RemoteException typically, this exception occurs when
- * there is a communication failure between the client and the
- * server. When this exception does occur, the lease may or may
- * not have been cancelled successfully.
- *
- * @see net.jini.core.lease.Lease#cancel
- */
- void cancelLease(Uuid registrationID,
- Uuid leaseID) throws UnknownLeaseException,
- RemoteException;
- /**
- * Cancels all leases from a <code>LeaseMap</code>.
- * <p>
- * For each element in the <code>registrationIDs</code> parameter,
- * this method will cancel the corresponding element in the
- * <code>leaseIDs</code> parameter.
- *
- * @param registrationIDs array containing the unique identifiers assigned
- * to the each registration to which each lease
- * to be cancelled corresponds
- * @param leaseIDs array containing the identifiers assigned by the
- * lease grantor to each lease being cancelled
- *
- * @throws java.rmi.RemoteException typically, this exception occurs when
- * there is a communication failure between the client and the
- * server. When this exception does occur, this method may or
- * may not have complete its processing successfully.
- *
- * @return array consisting of any exceptions that may have occurred
- * while attempting to cancel one of the leases in the map.
- *
- * @see net.jini.core.lease.LeaseMap#cancelAll
- */
- Exception[] cancelLeases(Uuid[] registrationIDs,
- Uuid[] leaseIDs) throws RemoteException;
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.river.fiddler.proxy;
+
+import net.jini.discovery.LookupDiscoveryRegistration;
+
+import org.apache.river.proxy.ThrowThis;
+import org.apache.river.start.moveMe.ServiceProxyAccessor;
+import net.jini.id.Uuid;
+import org.apache.river.admin.FiddlerAdmin;
+import net.jini.admin.Administrable;
+import net.jini.core.discovery.LookupLocator;
+import net.jini.core.event.RemoteEventListener;
+import net.jini.core.lease.UnknownLeaseException;
+import net.jini.core.lookup.ServiceRegistrar;
+
+import java.rmi.MarshalledObject;
+import java.rmi.Remote;
+import java.rmi.RemoteException;
+
+/**
+ * This interface defines the private protocol between the client-side
+ * proxy and the server of a lookup discovery service.
+ * <p>
+ * The declared methods mirror the methods of the LookupDiscoveryService
+ * interface. Classes that act as a "smart proxy" to the lookup discovery
+ * service typically contain a field which implements this interface.
+ * When the lookup discovery service registers with a lookup service,
+ * the proxy - containing a "server field" that is an instance of this
+ * interface - is registered. It is through the server field that the
+ * proxy interacts with the back-end server of the lookup discovery service,
+ * on behalf of a client, using the private protocol defined by a class
+ * that implements this interface.
+ *
+ * @author Sun Microsystems, Inc.
+ *
+ */
+public interface Fiddler extends Remote, Administrable, FiddlerAdmin,
+ ServiceProxyAccessor
+{
+ /**
+ * Returns the unique identifier generated (or recovered) by the back-end
+ * implementation of the lookup discovery service when an instance of
+ * that service is constructed. This ID is typically used to determine
+ * equality between the proxies of any two instances of the lookup
+ * discovery service.
+ *
+ * @return the unique ID that was generated (or recovered) by the
+ * back-end implementation of the lookup discovery service
+ * at creation time
+ *
+ * @throws java.rmi.RemoteException typically, this exception occurs when
+ * there is a communication failure between the client and the
+ * lookup discovery service.
+ */
+ Uuid getProxyID() throws RemoteException;
+
+ /**
+ * On behalf of a requesting client, creates a registration with the
+ * lookup discovery service, which then performs discovery processing
+ * on behalf of the client.
+ *
+ * @param groups String array, none of whose elements may be null,
+ * consisting of zero or more names of groups to
+ * which lookup services to discover belong.
+ *
+ * @param locators array of zero or more non-null LookupLocator
+ * objects, each corresponding to a specific lookup
+ * service to discover.
+ *
+ * @param listener a non-null instance of RemoteEventListener. This
+ * argument specifies the entity that will receive
+ * events notifying the registration that a lookup
+ * service of interest has been discovered.
+ *
+ * @param handback null or an instance of MarshalledObject. This
+ * argument specifies an object that will be
+ * included in the notification event that the
+ * lookup discovery service sends to the registered
+ * listener.
+ *
+ * @param leaseDuration long value representing the amount of time (in
+ * milliseconds) for which the resources of the
+ * lookup discovery service are being requested.
+ *
+ * @return an instance of the LookupDiscoveryRegistration interface.
+ *
+ * @throws java.rmi.RemoteException typically, this exception occurs when
+ * there is a communication failure between the client and the
+ * lookup discovery service. When this exception does occur, the
+ * registration may or may not have completed successfully.
+ *
+ * @see net.jini.discovery.LookupDiscoveryService#register
+ */
+ LookupDiscoveryRegistration register(String[] groups,
+ LookupLocator[] locators,
+ RemoteEventListener listener,
+ MarshalledObject handback,
+ long leaseDuration)
+ throws RemoteException;
+
+ /**
+ * Returns an array consisting of instances of the ServiceRegistrar
+ * interface. Each element in the returned set is a proxy to one of
+ * the lookup service(s) that have already been discovered for the
+ * registration corresponding to the <code>registrationID</code>
+ * parameter. Each element of the return set is a marshalled instance
+ * of the <code>ServiceRegistrar</code> interface. The contents of the
+ * returned set make up the 'remote state' of the registration's
+ * currently discovered lookup service(s).
+ *
+ * @param registrationID unique identifier assigned to the registration
+ * from which the set of registrars is being
+ * retrieved
+ *
+ * @return an array of MarshalledObject objects where each element is
+ * is a marshalled instance of ServiceRegistrar.
+ *
+ * @throws java.rmi.RemoteException typically, this exception occurs when
+ * there is a communication failure between the client and the
+ * lookup discovery service.
+ *
+ * @throws org.apache.river.proxy.ThrowThis which is a non-remote "wrapper"
+ * class used to wrap various remote exceptions (for example,
+ * NoSuchObjectException) that this method wishes to throw.
+ * When a service is implemented as a smart proxy with a
+ * backend server, and a method on the backend which was invoked
+ * through the proxy wishes to explicitly throw a particular
+ * remote exception, it cannot simply throw that exception if
+ * it wishes that exception to be visible to the proxy running
+ * on the "client side". This is because when the backend throws
+ * any remote exception, the RMI sub-system automatically wraps
+ * that exception in a java.rmi.ServerException. Thus, the proxy
+ * will only be able to "see" the ServerException (the actual
+ * exception that the backend tried to throw is "buried" in the
+ * detail field of the ServerException). Thus, in order to allow
+ * the proxy access to the actual remote exception this method
+ * throws, that exception wraps the desired remote exception in
+ * the non-remote exception ThrowThis; which will not be wrapped
+ * in a ServerException.
+ *
+ * This method throws a NoSuchObjectException wrapped in a
+ * ThrowThis exception whenever the <code>registrationID</code>
+ * parameter references an invalid or non-existent registration.
+ *
+ * @see net.jini.discovery.LookupDiscoveryRegistration#getRegistrars
+ */
+ MarshalledObject[] getRegistrars(Uuid registrationID)
+ throws RemoteException, ThrowThis;
+ /**
+ * Returns an array consisting of the names of the groups whose members
+ * are lookup services the lookup discovery service will attempt to
+ * discover for the registration corresponding to the current instance
+ * of this class. This set of group names is referred to as the
+ * registration's 'managed set of groups'.
+ * <p>
+ * If the registration's managed set of groups is currently empty, then
+ * the empty array is returned. If the lookup discovery service currently
+ * has no managed set of groups for the registration through which the
+ * request is being made, then null will be returned.
+ *
+ * @param registrationID unique identifier assigned to the registration
+ * from which the set of groups is being retrieved
+ *
+ * @return a String array containing the elements of the managed set of
+ * groups for the registration.
+ *
+ * @throws java.rmi.RemoteException typically, this exception occurs when
+ * there is a communication failure between the client and the
+ * lookup discovery service.
+ *
+ * @throws java.rmi.NoSuchObjectException wrapped in an instance of
+ * org.apache.river.proxy.ThrowThis exception whenever the
+ * <code>registrationID</code> parameter references an invalid
+ * or non-existent registration. Refer to the description of the
+ * <code>getRegistrars</code> method for more information on
+ * this exception.
+ *
+ * @see net.jini.discovery.LookupDiscoveryRegistration#getGroups
+ */
+ String[] getGroups(Uuid registrationID) throws RemoteException, ThrowThis;
+
+ /**
+ * Returns an array consisting of the the LookupLocator objects
+ * corresponding to specific lookup services the lookup discovery
+ * service will attempt to discover for for the registration
+ * corresponding to the current instance of this class. This set of
+ * locators is referred to as the registration's 'managed set of locators'.
+ * <p>
+ * If the registration's managed set of locators is currently empty, then
+ * the empty array is returned. If the lookup discovery service currently
+ * has no managed set of locators for the registration through which the
+ * request is being made, then null will be returned.
+ *
+ * @param registrationID unique identifier assigned to the registration
+ * from which the set of locators is being retrieved
+ *
+ * @return array consisting of net.jini.core.discovery.LookupLocator
+ * objects corresponding to the elements of the managed set of
+ * locators for the registration.
+ *
+ * @throws java.rmi.RemoteException typically, this exception occurs when
+ * there is a communication failure between the client and the
+ * lookup discovery service.
+ *
+ * @throws java.rmi.NoSuchObjectException wrapped in an instance of
+ * org.apache.river.proxy.ThrowThis exception whenever the
+ * <code>registrationID</code> parameter references an invalid
+ * or non-existent registration. Refer to the description of the
+ * <code>getRegistrars</code> method for more information on
+ * this exception.
+ *
+ * @see net.jini.discovery.LookupDiscoveryRegistration#getLocators
+ */
+ LookupLocator[] getLocators(Uuid registrationID)
+ throws RemoteException, ThrowThis;
+ /**
+ * Adds a set of group names to the managed set of groups associated
+ * with the registration corresponding to the current instance of
+ * this class.
+ *
+ * @param registrationID unique identifier assigned to the registration
+ * to which the set of groups being augmented
+ * corresponds
+ * @param groups a String array, none of whose elements may be
+ * null, consisting of the group names with which to
+ * augment the registration's managed set of groups.
+ * <p>
+ * If any element of this parameter duplicates any
+ * other element of this parameter, the duplicate
+ * will be ignored. If any element of this parameter
+ * duplicates any element of the registration's
+ * current managed set of groups, the duplicate will
+ * be ignored.
+ * <p>
+ * If the empty set is input, then the registration's
+ * managed set of groups will not change. If null is
+ * input, this method will throw a
+ * <code>NullPointerException</code>.
+ *
+ * @throws java.lang.IllegalStateException this exception occurs when
+ * the <code>addGroups</code> method of the discovery
+ * manager is invoked after the <code>terminate</code> method
+ * of that manager is called.
+ *
+ * @throws java.lang.UnsupportedOperationException this exception occurs
+ * when the lookup discovery service has no managed set of groups
+ * associated with the registration.
+ *
+ * @throws java.lang.NullPointerException this exception occurs when
+ * either null is input to the groups parameter, or one or more
+ * of the elements of the groups parameter is null.
+ *
+ * @throws java.rmi.RemoteException typically, this exception occurs when
+ * there is a communication failure between the client and the
+ * lookup discovery service. When this exception does occur, the
+ * registration's managed set of groups may or may not have been
+ * successfully augmented.
+ *
+ * @throws java.rmi.NoSuchObjectException wrapped in an instance of
+ * org.apache.river.proxy.ThrowThis exception whenever the
+ * <code>registrationID</code> parameter references an invalid
+ * or non-existent registration. Refer to the description of the
+ * <code>getRegistrars</code> method for more information on
+ * this exception.
+ *
+ * @see net.jini.discovery.LookupDiscoveryRegistration#addGroups
+ */
+ void addGroups(Uuid registrationID,
+ String[] groups) throws RemoteException,ThrowThis;
+ /**
+ * Replaces all of the group names in the managed set of groups
+ * associated with the registration corresponding to the current
+ * instance of this class.
+ *
+ * @param registrationID unique identifier assigned to the registration
+ * to which the set of groups being replaced
+ * corresponds
+ * @param groups a String array, none of whose elements may be
+ * null, consisting of the group names with which to
+ * replace the names in this registration's managed
+ * set of groups.
+ * <p>
+ * If any element of this parameter duplicates any
+ * other element of this parameter, the duplicate
+ * will be ignored.
+ * <p>
+ * If the empty set is input, then group discovery
+ * for the registration will cease. If null is input,
+ * the lookup discovery service will attempt to
+ * discover all as yet undiscovered lookup services
+ * located within its multicast radius and, upon
+ * discovery of any such lookup service, will send
+ * to the registration's listener an event signaling
+ * that discovery.
+ *
+ * @throws java.lang.IllegalStateException this exception occurs when
+ * the <code>addGroups</code> method of the discovery
+ * manager is invoked after the <code>terminate</code> method
+ * of that manager is called.
+ *
+ * @throws java.lang.NullPointerException this exception occurs when one
+ * or more of the elements of the groups parameter is null.
+ *
+ * @throws java.rmi.RemoteException typically, this exception occurs when
+ * there is a communication failure between the client and the
+ * lookup discovery service. When this exception does occur, the
+ * registration's managed set of groups may or may not have been
+ * successfully replaced.
+ *
+ * @throws java.rmi.NoSuchObjectException wrapped in an instance of
+ * org.apache.river.proxy.ThrowThis exception whenever the
+ * <code>registrationID</code> parameter references an invalid
+ * or non-existent registration. Refer to the description of the
+ * <code>getRegistrars</code> method for more information on
+ * this exception.
+ *
+ * @see net.jini.discovery.LookupDiscoveryRegistration#setGroups
+ */
+ void setGroups(Uuid registrationID,
+ String[] groups) throws RemoteException,ThrowThis;
+ /**
+ * Deletes a set of group names from the managed set of groups
+ * associated with the registration corresponding to the current
+ * instance of this class.
+ *
+ * @param registrationID unique identifier assigned to the registration
+ * to which the set of groups being removed
+ * corresponds
+ * @param groups a String array, none of whose elements may be
+ * null, consisting of the group names to delete
+ * from the registration's managed set of groups.
+ * <p>
+ * If any element of this parameter duplicates any
+ * other element of this parameter, the duplicate
+ * will be ignored.
+ * <p>
+ * If the empty set is input, the registration's
+ * managed set of groups will not change. If null is
+ * input, this method will throw a
+ * <code>NullPointerException</code>.
+ *
+ * @throws java.lang.IllegalStateException this exception occurs when
+ * the <code>addGroups</code> method of the discovery
+ * manager is invoked after the <code>terminate</code> method
+ * of that manager is called.
+ *
+ * @throws java.lang.UnsupportedOperationException this exception occurs
+ * when the lookup discovery service has no managed set of groups
+ * associated with the registration.
+ *
+ * @throws java.lang.NullPointerException this exception occurs when
+ * either null is input to the groups parameter, or one or more
+ * of the elements of the groups parameter is null.
+ *
+ * @throws java.rmi.RemoteException typically, this exception occurs when
+ * there is a communication failure between the client and the
+ * lookup discovery service. When this exception does occur, the
+ * registration's managed set of groups may or may not have been
+ * successfully modified.
+ *
+ * @throws java.rmi.NoSuchObjectException wrapped in an instance of
+ * org.apache.river.proxy.ThrowThis exception whenever the
+ * <code>registrationID</code> parameter references an invalid
+ * or non-existent registration. Refer to the description of the
+ * <code>getRegistrars</code> method for more information on
+ * this exception.
+ *
+ * @see net.jini.discovery.LookupDiscoveryRegistration#removeGroups
+ */
+ void removeGroups(Uuid registrationID,
+ String[] groups) throws RemoteException,ThrowThis;
+ /**
+ * Adds a set of LookupLocator objects to the managed set of locators
+ * associated with the registration corresponding to the current
+ * instance of this class.
+ *
+ * @param registrationID unique identifier assigned to the registration
+ * to which the set of locators being augmented
+ * corresponds
+ * @param locators an array, none of whose elements may be null,
+ * consisting of the LookupLocator objects with
+ * which to augment the registration's managed set
+ * of locators.
+ * <p>
+ * If any element of this parameter duplicates any
+ * other element of this parameter, the duplicate
+ * will be ignored. If any element of this parameter
+ * duplicates any element of the registration's
+ * managed set of locators, the duplicate will be
+ * ignored.
+ * <p>
+ * If the empty array is input, then the
+ * registration's managed set of locators will not
+ * change. If null is input, this method will throw
+ * a <code>NullPointerException</code>.
+ *
+ * @throws java.lang.UnsupportedOperationException this exception occurs
+ * when the lookup discovery service has no managed set of
+ * locators associated with the registration.
+ *
+ * @throws java.lang.NullPointerException this exception occurs when
+ * either null is input to the locators parameter, or one or
+ * more of the elements of the locators parameter is null.
+ *
+ * @throws java.rmi.RemoteException typically, this exception occurs when
+ * there is a communication failure between the client and the
+ * lookup discovery service. When this exception does occur, the
+ * registration's managed set of locators may or may not have
+ * been successfully augmented.
+ *
+ * @throws java.rmi.NoSuchObjectException wrapped in an instance of
+ * org.apache.river.proxy.ThrowThis exception whenever the
+ * <code>registrationID</code> parameter references an invalid
+ * or non-existent registration. Refer to the description of the
+ * <code>getRegistrars</code> method for more information on
+ * this exception.
+ *
+ * @see net.jini.discovery.LookupDiscoveryRegistration#addLocators
+ */
+ void addLocators(Uuid registrationID,
+ LookupLocator[] locators) throws RemoteException,
+ ThrowThis;
+ /**
+ * Replaces with a new set of LookupLocator objects, all of the
+ * elements in the managed set of locators associated with the
+ * registration corresponding to the current instance of this class.
+ *
+ * @param registrationID unique identifier assigned to the registration
+ * to which the set of locators being replaced
+ * corresponds
+ * @param locators an array, none of whose elements may be null,
+ * consisting of the LookupLocator objects with
+ * which to replace the locators in the
+ * registration's managed set of locators.
+ * <p>
+ * If any element of this parameter duplicates any
+ * other element of this parameter, the duplicate
+ * will be ignored.
+ * <p>
+ * If the empty array is input, then locator
+ * discovery for the registration will cease. If
+ * null is input, this method will throw a
+ * <code>NullPointerException</code>.
+ *
+ * @throws java.lang.NullPointerException this exception occurs when one
+ * or more of the elements of the locators parameter is null.
+ *
+ * @throws java.rmi.RemoteException typically, this exception occurs when
+ * there is a communication failure between the client and the
+ * lookup discovery service. When this exception does occur, the
+ * registration's managed set of locators may or may not have
+ * been successfully replaced.
+ *
+ * @throws java.rmi.NoSuchObjectException wrapped in an instance of
+ * org.apache.river.proxy.ThrowThis exception whenever the
+ * <code>registrationID</code> parameter references an invalid
+ * or non-existent registration. Refer to the description of the
+ * <code>getRegistrars</code> method for more information on
+ * this exception.
+ *
+ * @see net.jini.discovery.LookupDiscoveryRegistration#setLocators
+ */
+ void setLocators(Uuid registrationID,
+ LookupLocator[] locators) throws RemoteException,
+ ThrowThis;
+ /**
+ * Deletes a set of LookupLocator objects from the managed set of
+ * locators associated with the registration corresponding to the
+ * current instance of this class.
+ *
+ * @param registrationID unique identifier assigned to the registration
+ * to which the set of locators being removed
+ * corresponds
+ * @param locators an array, none of whose elements may be null,
+ * consisting of the LookupLocator objects to remove
+ * from the registration's managed set of locators.
+ * <p>
+ * If any element of this parameter duplicates any
+ * other element of this parameter, the duplicate
+ * will be ignored.
+ * <p>
+ * If the empty set is input, the managed set of
+ * locators will not change. If null is input,
+ * this method will throw a
+ * <code>NullPointerException</code>.
+ *
+ * @throws java.lang.UnsupportedOperationException this exception occurs
+ * when the lookup discovery service has no managed set of
+ * locators associated with the registration.
+ *
+ * @throws java.lang.NullPointerException this exception occurs when
+ * either null is input to the locators parameter, or one or
+ * more of the elements of the locators parameter is null.
+ *
+ * @throws java.rmi.RemoteException typically, this exception occurs when
+ * there is a communication failure between the client and the
+ * lookup discovery service. When this exception does occur, the
+ * registration's managed set of locators may or may not have
+ * been successfully modified.
+ *
+ * @throws java.rmi.NoSuchObjectException wrapped in an instance of
+ * org.apache.river.proxy.ThrowThis exception whenever the
+ * <code>registrationID</code> parameter references an invalid
+ * or non-existent registration. Refer to the description of the
+ * <code>getRegistrars</code> method for more information on
+ * this exception.
+ *
+ * @see net.jini.discovery.LookupDiscoveryRegistration#removeLocators
+ */
+ void removeLocators(Uuid registrationID,
+ LookupLocator[] locators) throws RemoteException,
+ ThrowThis;
+ /**
+ * Informs the lookup discovery service of the existence of an
+ * unavailable lookup service and requests that the lookup discovery
+ * service discard the unavailable lookup service.
+ *
+ * @param registrationID unique identifier assigned to the registration
+ * making the current discard request
+ * @param registrar a reference to the lookup service that the lookup
+ * discovery service is being asked to discard.
+ * <p>
+ * If this parameter equals none of the lookup
+ * services contained in the managed set of lookup
+ * services for this registration, no action will
+ * be taken.
+ *
+ * @throws java.lang.NullPointerException this exception occurs when
+ * null is input to the registrar parameter.
+ *
+ * @throws java.rmi.RemoteException typically, this exception occurs when
+ * there is a communication failure between the client and the
+ * lookup discovery service. When this exception does occur,
+ * the lookup service may or may not have been successfully
+ * discarded.
+ *
+ * @throws java.rmi.NoSuchObjectException wrapped in an instance of
+ * org.apache.river.proxy.ThrowThis exception whenever the
+ * <code>registrationID</code> parameter references an invalid
+ * or non-existent registration. Refer to the description of the
+ * <code>getRegistrars</code> method for more information on
+ * this exception.
+ *
+ * @see net.jini.discovery.LookupDiscoveryRegistration#discard
+ */
+ void discard(Uuid registrationID,
+ ServiceRegistrar registrar) throws RemoteException, ThrowThis;
+
+ /**
+ * This method renews the lease corresponding to the given
+ * <code>registrationID</code> and <code>leaseID</code> parameters,
+ * granting a new duration that is less than or equal to the requested
+ * duration value contained in the <code>duration</code> parameter.
+ *
+ * @param registrationID unique identifier assigned to the registration
+ * to which the lease being renewed corresponds
+ * @param leaseID identifier assigned by the lease grantor to the
+ * lease being renewed
+ * @param duration the requested duration for the lease being renewed
+ *
+ * @return <code>long</code> value representing the actual duration that
+ * was granted for the renewed lease. Note that the actual
+ * duration granted and returned by this method may be less than
+ * the duration requested.
+ *
+ * @throws net.jini.core.lease.UnknownLeaseException this exception occurs
+ * when the lease being renewed does not exist, or is unknown
+ * to the lease grantor; typically because the lease has expired.
+ *
+ * @throws java.rmi.RemoteException typically, this exception occurs when
+ * there is a communication failure between the client and the
+ * server. When this exception does occur, the lease may or may
+ * not have been renewed successfully.
+ *
+ * @see net.jini.core.lease.Lease#renew
+ */
+ long renewLease(Uuid registrationID,
+ Uuid leaseID,
+ long duration) throws UnknownLeaseException,
+ RemoteException;
+ /**
+ * Renews all leases from a <code>LeaseMap</code>.
+ * <p>
+ * For each element in the <code>registrationIDs</code> parameter,
+ * this method will renew the corresponding element in the
+ * <code>leaseIDs</code> parameter with the corresponding element
+ * in the <code>registrationID</code> parameter.
+ *
+ * @param registrationIDs array containing the unique identifiers assigned
+ * to the each registration to which each lease
+ * to be renewed corresponds
+ * @param leaseIDs array containing the identifiers assigned by the
+ * lease grantor to each lease being renewed
+ * @param durations array containing the requested durations for
+ * each lease being renewed
+ *
+ * @return an instance of FiddlerRenewResults containing data corresponding
+ * to the results (granted durations or exceptions) of each
+ * renewal attempt
+ *
+ * @throws java.rmi.RemoteException typically, this exception occurs when
+ * there is a communication failure between the client and the
+ * server. When this exception does occur, this method may or
+ * may not have complete its processing successfully.
+ *
+ * @see net.jini.core.lease.LeaseMap#renewAll
+ */
+ FiddlerRenewResults renewLeases(Uuid[] registrationIDs,
+ Uuid[] leaseIDs,
+ long[] durations) throws RemoteException;
+ /**
+ * This method cancels the lease corresponding to the given
+ * <code>registrationID</code> and <code>leaseID</code> parameters.
+ *
+ * @param registrationID unique identifier assigned to the registration
+ * to which the lease being cancelled corresponds
+ * @param leaseID identifier assigned by the lease grantor to the
+ * lease being cancelled
+ *
+ * @throws net.jini.core.lease.UnknownLeaseException this exception occurs
+ * when the lease being cancelled is unknown to the lease grantor.
+ *
+ * @throws java.rmi.RemoteException typically, this exception occurs when
+ * there is a communication failure between the client and the
+ * server. When this exception does occur, the lease may or may
+ * not have been cancelled successfully.
+ *
+ * @see net.jini.core.lease.Lease#cancel
+ */
+ void cancelLease(Uuid registrationID,
+ Uuid leaseID) throws UnknownLeaseException,
+ RemoteException;
+ /**
+ * Cancels all leases from a <code>LeaseMap</code>.
+ * <p>
+ * For each element in the <code>registrationIDs</code> parameter,
+ * this method will cancel the corresponding element in the
+ * <code>leaseIDs</code> parameter.
+ *
+ * @param registrationIDs array containing the unique identifiers assigned
+ * to the each registration to which each lease
+ * to be cancelled corresponds
+ * @param leaseIDs array containing the identifiers assigned by the
+ * lease grantor to each lease being cancelled
+ *
+ * @throws java.rmi.RemoteException typically, this exception occurs when
+ * there is a communication failure between the client and the
+ * server. When this exception does occur, this method may or
+ * may not have complete its processing successfully.
+ *
+ * @return array consisting of any exceptions that may have occurred
+ * while attempting to cancel one of the leases in the map.
+ *
+ * @see net.jini.core.lease.LeaseMap#cancelAll
+ */
+ Exception[] cancelLeases(Uuid[] registrationIDs,
+ Uuid[] leaseIDs) throws RemoteException;
+}