## DiscoveryManagement Interface Requirements DM

ID | DiscoveryManagement Interface Requirement | Section | Comments
| The addDiscoveryListener method adds a listener to the set of objects listening for discovery events (DiscoveryEvent). This method takes a single argument as input: the listener (DiscoveryListener) to add to the set. | 2.3.1 | IF Tests: DMIF Func. Tests: DMAR, DGMAR1, DGMAR2
| The addDiscoveryListener … Once a listener is registered, it will be notified of all lookup services discovered to date, and will then be notified as new lookup services are discovered or existing lookup services are discarded. | 2.3.1 | IF Tests: Func. Tests: DMAR, DGMAR1, DGMAR2
| The addDiscoveryListener … Once a listener is registered, it will be notified of all lookup services discovered to date, and will then be notified as new lookup services are discovered or existing lookup services are discarded. | 2.3.1 | IF Tests: Func. Tests: DMAR, DGMAR1, DGMAR2
| The addDiscoveryListener … Once a listener is registered, it will be notified of all lookup services discovered to date, and will then be notified as new lookup services are discovered or existing lookup services are discarded. | 2.3.1 | IF Tests: Func. Tests: DMAR, DGMAR1, DGMAR2
| The addDiscoveryListener …If null is input to this method, no action will be taken. | 2.3.1 | IF Tests: DMIF Func. Tests: DMAR, DGMAR1, DGMAR2
| The removeDiscoveryListener method removes a listener from the set of objects listening for discovery events. This method takes a single argument as input: the listener to remove from the set. | 2.3.1 | IF Tests: DMIF Func. Tests: DMAR, DGMAR1, DGMAR2
| The removeDiscoveryListener … If the listener object input to this method does not exist in the set of listeners maintained by the implementation class, then this method will take no action. | 2.3.1 | IF Tests: DMIF Func. Tests: DMAR, DGMAR1, DGMAR2
| The removeDiscoveryListener … Once an invocation of removeDiscoveryListener returns, it is guaranteed that none of the removed listener(s) will receive any pending notification events. | 2.3.1 | IF Tests: Func. Tests:
| The getRegistrars method returns an array of ServiceRegistrar objects, each corresponding to a lookup service that has been discovered. | 2.3.1 | IF Tests: DMIF Func. Tests: DMAR, DGMAR1, DGMAR2
| The getRegistrars … Each time this method is invoked, a new array is returned. This method takes no arguments as input. | 2.3.1 | IF Tests: DMIF Func. Tests: DMAR, DGMAR1, DGMAR2
| The discard method removes a particular lookup service from the managed set of lookup services, and makes that lookup service eligible to be re-discovered. This method takes a single argument as input: the proxy to the lookup service to discard. | 2.3.1 | IF Tests: Func. Tests: DMAR, DGMAR1, DGMAR2
| The discard … If the proxy input to this method is null, or if it matches none of the lookup services in the managed set, this method takes no action. | 2.3.1 | IF Tests: DMIF Func. Tests: DMAR, DGMAR1, DGMAR2
| The discard … If the proxy input to this method is null, or if it matches none of the lookup services in the managed set, this method takes no action. | 2.3.1 | IF Tests: Func. Tests: DMAR, DGMAR2
| Invoking the discard method defined by the DiscoveryManagement interface will result in the flushing of the lookup service from the appropriate cache, ultimately causing a discard notification to be sent to all DiscoveryListener objects registered with the implementation object. | 2.3.1 | IF Tests: Func. Tests: DMAR, DGMAR1, DGMAR2
| The terminate method ends all discovery processing being performed on behalf of the entity … no new lookup services will be discovered, | 2.3.1 | IF Tests: DMIF Func. Tests: DMAR, DGMAR1, DGMAR2