public class DeviceManager extends Object
DeviceManager holds the Device registry. It allows to register, unregister, list devices.
 Registered RegistrationListener are notified when a device is registered or unregistered.| Modifier and Type | Method and Description | 
|---|---|
| static <D extends Device> | addRegistrationListener(RegistrationListener<D> listener,
                       Class<D> deviceType)Adds the given  RegistrationListenerto be notified when a device of the given type is registered or unregistered. | 
| static Iterator<Device> | list()List all registered devices. | 
| static <D extends Device> | list(Class<D> deviceType)List all registered devices such as the given type is assignable from the device class. | 
| static <D extends Device> | register(Class<D> deviceType,
        D device)Registers a new device with the given type. | 
| static <D extends Device> | removeRegistrationListener(RegistrationListener<D> listener)Removes the given  RegistrationListenerfrom the list of listeners that are notified when a device is registered or unregistered. | 
| static void | unregister(Device device)Unregisters the given device. | 
public static <D extends Device> void addRegistrationListener(RegistrationListener<D> listener, Class<D> deviceType)
RegistrationListener to be notified when a device of the given type is registered or unregistered.
 If there is a security manager, its SecurityManager.checkPermission(java.security.Permission) method is called with the DeviceManagerPermission.READ name and the device type.
 The listener may be registered multiple times on different device types.D - the type of the devices to be listened forlistener - the registration listenerdeviceType - the type of the devices to be listened forSecurityException - if a security manager exists and it does not allow the caller to listen to devices registered with the given typepublic static <D extends Device> void removeRegistrationListener(RegistrationListener<D> listener)
RegistrationListener from the list of listeners that are notified when a device is registered or unregistered. 
 The listener may have been registered multiple times on different device types.D - the type of the device listened forlistener - the registration listenerpublic static <D extends Device> void register(Class<D> deviceType, D device)
SecurityManager.checkPermission(java.security.Permission) method is called with DeviceManagerPermission.MODIFY name and the device type.D - the type of the device to be registereddeviceType - the type of the device to be registereddevice - the device to be registeredSecurityException - if a security manager exists and it does not allow the caller to register a device with the given type.IllegalArgumentException - if the device has already been registeredpublic static void unregister(Device device)
SecurityManager.checkPermission(java.security.Permission) method is called with DeviceManagerPermission.MODIFY name and the device type on which it has been registered.
 Some devices are registered by the underlying platform and cannot be unregistered.device - the device to be unregisteredSecurityException - if a security manager exists and it does not allow the caller to unregister a devicepublic static Iterator<Device> list()
SecurityManager.checkPermission(java.security.Permission) method is called with DeviceManagerPermission.READ name and the Device class.
 This is equivalent to:
 list(Device.class)
SecurityException - if a security manager exists and it doesn't allow the caller to list devicespublic static <D extends Device> Iterator<D> list(Class<D> deviceType)
SecurityManager.checkPermission(java.security.Permission) method is called with DeviceManagerPermission.READ action and the device type.D - the type of devices to listdeviceType - the type of the device to be registeredSecurityException - if a security manager exists and it doesn't allow the caller to list devices of the given type