Class AdvertisementCatalog
java.lang.Object
org.sblim.cimclient.discovery.AdvertisementCatalog
Class AdvertisementCatalog implements a catalog for WBEM service
advertisements. In practice we usually have multiple advertisements for a
single service, because the DMTF mandates an advertisement per remote service
access point (e.g. http, https, rmi). This class tries to ease the management
of this by indexing services by the unique service id and therefore surfacing
which advertisements belong to the same service. The application might then
choose it's preferred communication mechanism.
- Since:
- 2.0.2
- Threading considerations:
- No thread synchronization provided, this is the responsibility of the caller.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interface
Interface EventListener specifies listener that are called when an advertisement is added to or removed from the catalog, expires or is renewed. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic int
Event code when advertisement is addedstatic int
Event code when advertisement expiresstatic int
Event code when advertisement is removedstatic int
Event code when advertisement is renewed -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
addAdvertisements
(WBEMServiceAdvertisement[] pAdvertisements) Adds new advertisements to the catalog.void
Adds a listener for "add" events.getAdvertisement
(String pId, WBEMProtocol[] pProtocols) Returns the advertisement from the catalog corresponding to a given id and with the protocol preferred most.getAdvertisementsByDirectory
(String pDirectory) Returns the advertisements from the catalog corresponding to a given directoryReturns the advertisements from the catalog corresponding to a given idString[]
Returns an array of service ids known by this catalogvoid
refreshAdvertisements
(String[] pDirectory, WBEMServiceAdvertisement[] pAdvertisements) Refreshes the advertisements from a given directory.void
Removes a listenervoid
removeExpired
(String pDirectory) Removes the expired advertisements from the catalog.toString()
-
Field Details
-
EVENT_ADD
public static int EVENT_ADDEvent code when advertisement is added -
EVENT_REMOVE
public static int EVENT_REMOVEEvent code when advertisement is removed -
EVENT_EXPIRE
public static int EVENT_EXPIREEvent code when advertisement expires -
EVENT_RENEW
public static int EVENT_RENEWEvent code when advertisement is renewed
-
-
Constructor Details
-
AdvertisementCatalog
public AdvertisementCatalog()Ctor.
-
-
Method Details
-
addEventListener
Adds a listener for "add" events. The listener will be called whenever a advertisement is added to the catalog.- Parameters:
pListener
- The listener
-
addAdvertisements
Adds new advertisements to the catalog. Existing advertisements sharing concrete type, url and directory are replaced.- Parameters:
pAdvertisements
- The new advertisements
-
getAdvertisement
Returns the advertisement from the catalog corresponding to a given id and with the protocol preferred most.- Parameters:
pId
- The service idpProtocols
- An array containing the desired protocols in order of preference. If a service doesn't advertise any of the given protocols this service returns null.- Returns:
- The corresponding advertisement
-
getAdvertisementsByDirectory
Returns the advertisements from the catalog corresponding to a given directory- Parameters:
pDirectory
- The directory service- Returns:
- The corresponding advertisements
-
getAdvertisementsById
Returns the advertisements from the catalog corresponding to a given id- Parameters:
pId
- The service id- Returns:
- The corresponding advertisements
-
getKnownIds
Returns an array of service ids known by this catalog- Returns:
- The service ids
-
refreshAdvertisements
Refreshes the advertisements from a given directory. All existing advertisements from this directory are deleted first before the new ones are added.- Parameters:
pDirectory
- The directory services we got the advertisements frompAdvertisements
- The advertisements
-
removeEventListener
Removes a listener- Parameters:
pListener
- The listener to remove
-
removeExpired
Removes the expired advertisements from the catalog.- Parameters:
pDirectory
- Whennot null
only the expired advertisements of the given directory are removed. Otherwise all expired advertisements are removed.
-
toString
-