## DiscoveryLocatorManagement Interface Requirements

ID | DiscoveryLocatorManagement Interface Requirement | Section | Comments
| The methods that modify the managed set of locators each take a single input parameter: an array of locators, none of whose elements may be null. | 2.5.1 | IF Tests:
| Invoking any of these methods with an input array that contains duplicate locators (as determined by LookupLocator.equals) is equivalent to performing the invocation with the duplicates removed from the array. | " | IF Tests: DLMIF Func. Tests: DLMAR
| The getLocators method returns an array containing the set of LookupLocator objects in the managed set of locators. The returned set will include both the set of LookupLocator objects corresponding to lookup services that have already been discovered as well as the set of those that have not yet been discovered. | " | IF Tests: DLMIF Func. Tests: DLMAR
| The getLocators … If the managed set is empty, this method will return the empty array. | " | IF Tests: DLMIF Func. Tests: DLMAR
| The getLocators … This method takes no arguments as input, and will return a new array upon each invocation. | " | IF Tests: DLMIF Func. Tests: DLMAR
| The addLocators method adds a set of locators to the managed set. | " | IF Tests: DLMIF Func. Tests: DLMAR
| The addLocators … This method throws an UnsupportedOperationException if there is no managed set of locators to augment. | " | IF Tests: DLMIF
| The addLocators … If null is input to addLocators, a NullPointerException will be thrown. | " | IF Tests: DLMIF Func. Tests: DLMAR
| The addLocators … If the empty array is input, the managed set of locators will not change. | " | IF Tests: DLMIF Func. Tests: DLMAR
| The setLocators method replaces all of the locators in the managed set with LookupLocator objects from a new set. | " | IF Tests: DLMIF Func. Tests: DLMAR
| The setLocators … If null is input to setLocators, a NullPointerException will be thrown. |  | IF Tests: DLMIF Func. Tests: DLMAR
| The setLocators … If the empty array is input, locator discovery will cease. |  | IF Tests: DLMIF Func. Tests: DLMAR
| The removeLocators method deletes a set of locators from the managed set. |  | IF Tests: Func. Tests: DLMAR
| The removeLocators … This method throws an UnsupportedOperationException if there is no managed set of locators from which to remove elements. |  | IF Tests: DLMIF Func. Tests: DLMAR
| The removeLocators … If null is input to removeLocators, a NullPointerException will be thrown. |  | IF Tests: DLMIF Func. Tests: DLMAR
| The removeLocators … If the empty array is input, the managed set of locators will not change. |  | IF Tests: DLMIF Func. Tests: DLMAR
| Any already-discovered lookup service corresponding to a locator that is removed from the managed set by either setLocators or removeLocators will be discarded and will not be eligible for discovery; but only if it is not currently eligible for discovery through other means (such as group discovery). |  | Func. Tests: DLMAR