public interface LookupCache
LookupCache
interface defines the methods provided
by the object created and returned by the
ServiceDiscoveryManager
when a client-like entity invokes the
createLookupCache
method. It is within the object returned by that
method that discovered service references, matching criteria defined
by the entity, are stored. Through this interface, the entity may
retrieve one or more of the stored service references, register and
un-register with the cache's event mechanism, discard previously
discovered service references to make them eligible for re-discovery,
and terminate all of the cache's processing.ServiceDiscoveryManager
Modifier and Type | Method and Description |
---|---|
void |
addListener(ServiceDiscoveryListener listener)
Registers a
ServiceDiscoveryListener object with
the event mechanism of a LookupCache . |
void |
discard(Object serviceReference)
Deletes a service reference from the cache and causes a notification
to be sent to all registered listeners indicating that the service
has been discarded.
|
ServiceItem |
lookup(ServiceItemFilter filter)
Finds a
ServiceItem object that satisfies the given
filter parameter. |
ServiceItem[] |
lookup(ServiceItemFilter filter,
int maxMatches)
Finds an array of instances of
ServiceItem that each
satisfy the given filter parameter. |
void |
removeListener(ServiceDiscoveryListener listener)
Removes a
ServiceDiscoveryListener object from the set
of listeners currently registered with the LookupCache . |
void |
terminate()
Performs cleanup duties related to the termination of
the processing being performed by a particular instance of
LookupCache . |
ServiceItem lookup(ServiceItemFilter filter)
ServiceItem
object that satisfies the given
filter
parameter.
The service item returned must have been previously discovered to be both registered with one or more of the lookup services in the managed set, and to match criteria defined by the entity.
The semantics of the filter
argument are identical
to those of the filter
argument specified for a
number of the methods defined in the interface of the
ServiceDiscoveryManager
utility class. This argument
is intended to allow an entity to separate its filtering into two
steps: an initial filter applied during the discovery phase, and
a finer resolution filter applied upon retrieval from the cache.
As with the methods of the ServiceDiscoveryManager
, if
null
is the value of this argument, then no additional
filtering will be performed.
filter
- used for matching ServiceItem
s. A null
value means no additional filtering should be applied.null
value will be returned if no
ServiceItem
is found that matches
the criteria or if the cache is empty.ServiceItem[] lookup(ServiceItemFilter filter, int maxMatches)
ServiceItem
that each
satisfy the given filter
parameter.
Each service item contained in the returned array must have been previously discovered to be both registered with one or more of the lookup services in the managed set, and to match criteria defined by the entity.
The semantics of the filter
argument are
identical to those of the filter
argument specified
for a number of the methods defined in the interface of the
ServiceDiscoveryManager
utility class. This argument is
intended to allow an entity to separate its filtering into two
steps: an initial filter applied during the discovery phase, and
a finer resolution filter applied upon retrieval from the cache.
As with the methods of the ServiceDiscoveryManager
, if
null
is the value of this argument, then no
additional filtering will be performed.
filter
- used for matching ServiceItem
s.
A null value means no additional filtering should
be applied.maxMatches
- maximum number of matches to return. If this
value is set to Integer.MAX_VALUE
then all elements in the cache that match the
criteria will be returned.ServiceItem
is found that
matches the criteria or if the cache is empty.IllegalArgumentException
- if maxMatches
is a negative number.void addListener(ServiceDiscoveryListener listener)
ServiceDiscoveryListener
object with
the event mechanism of a LookupCache
. The listener
object will receive a ServiceDiscoveryEvent
upon the
discovery, removal, or modification of one of the cache's
services. Once a listener is registered, it will be notified of
all service references discovered to date, and will be notified as
new services are discovered and existing services are modified or
discarded.
If the parameter value duplicates (using equals
) another
element in the set of listeners, no action is taken. If the parameter
value is null
, a NullPointerException
is
thrown.listener
- the ServiceDiscoveryListener
object to
register.NullPointerException
- this exception occurs when
null
is input to the listener
parameter.removeListener(net.jini.lookup.ServiceDiscoveryListener)
void removeListener(ServiceDiscoveryListener listener)
ServiceDiscoveryListener
object from the set
of listeners currently registered with the LookupCache
.
Once all listeners are removed from the cache's set of listeners,
the cache will send no more ServiceDiscoveryEvent
notifications.
If the parameter value is null
, or if the parameter value
does not exist in the managed set of listeners, no action is taken.listener
- the ServiceDiscoveryListener
object to
remove.addListener(net.jini.lookup.ServiceDiscoveryListener)
void discard(Object serviceReference)
serviceReference
- the service reference to discard.void terminate()
LookupCache
. For that instance, this method cancels
all event leases granted by the lookup services that supplied the
contents of the cache, and un-exports all remote listener objects
registered with those lookup services. The terminate
method is typically called when the entity is no longer interested
in the contents of the LookupCache
.Copyright 2007-2013, multiple authors.
Licensed under the Apache License, Version 2.0, see the NOTICE file for attributions.