org.teleal.cling.model.meta
Class Device<DI extends DeviceIdentity,D extends Device,S extends Service>

java.lang.Object
  extended by org.teleal.cling.model.meta.Device<DI,D,S>
All Implemented Interfaces:
Validatable
Direct Known Subclasses:
LocalDevice, RemoteDevice

public abstract class Device<DI extends DeviceIdentity,D extends Device,S extends Service>
extends Object
implements Validatable


Field Summary
protected  D[] embeddedDevices
           
protected  S[] services
           
 
Constructor Summary
Device(DI identity)
           
Device(DI identity, DeviceType type, DeviceDetails details, Icon[] icons, S[] services)
           
Device(DI identity, DeviceType type, DeviceDetails details, Icon[] icons, S[] services, D[] embeddedDevices)
           
Device(DI identity, UDAVersion version, DeviceType type, DeviceDetails details, Icon[] icons, S[] services, D[] embeddedDevices)
           
 
Method Summary
abstract  Resource[] discoverResources(Namespace namespace)
           
 boolean equals(Object o)
           
protected  Collection<D> find(DeviceType deviceType, D current)
           
protected  Collection<D> find(ServiceType serviceType, D current)
           
protected  D find(UDN udn, D current)
           
abstract  D findDevice(UDN udn)
           
 D[] findDevices(DeviceType deviceType)
           
 D[] findDevices(ServiceType serviceType)
           
 D[] findEmbeddedDevices()
           
protected  Collection<D> findEmbeddedDevices(D current)
           
 Icon[] findIcons()
           
 S findService(ServiceId serviceId)
           
 S findService(ServiceType serviceType)
           
 S[] findServices()
           
 S[] findServices(ServiceType serviceType)
           
protected  Collection<S> findServices(ServiceType serviceType, ServiceId serviceId, D current)
           
 ServiceType[] findServiceTypes()
           
 DeviceDetails getDetails()
           
 String getDisplayString()
           
abstract  D[] getEmbeddedDevices()
           
 Icon[] getIcons()
           
 DI getIdentity()
           
 D getParentDevice()
           
abstract  D getRoot()
           
abstract  S[] getServices()
           
 DeviceType getType()
           
 UDAVersion getVersion()
           
 boolean hasEmbeddedDevices()
           
 int hashCode()
           
 boolean hasIcons()
           
 boolean hasServices()
           
 boolean isRoot()
           
abstract  S newInstance(ServiceType serviceType, ServiceId serviceId, URI descriptorURI, URI controlURI, URI eventSubscriptionURI, Action<S>[] actions, StateVariable<S>[] stateVariables)
           
abstract  D newInstance(UDN udn, UDAVersion version, DeviceType type, DeviceDetails details, Icon[] icons, S[] services, List<D> embeddedDevices)
           
abstract  S[] newServiceArray(int size)
           
abstract  D[] toDeviceArray(Collection<D> col)
           
abstract  S[] toServiceArray(Collection<S> col)
           
 String toString()
           
 List<ValidationError> validate()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

services

protected final S extends Service[] services

embeddedDevices

protected final D extends Device[] embeddedDevices
Constructor Detail

Device

public Device(DI identity)
       throws ValidationException
Throws:
ValidationException

Device

public Device(DI identity,
              DeviceType type,
              DeviceDetails details,
              Icon[] icons,
              S[] services)
       throws ValidationException
Throws:
ValidationException

Device

public Device(DI identity,
              DeviceType type,
              DeviceDetails details,
              Icon[] icons,
              S[] services,
              D[] embeddedDevices)
       throws ValidationException
Throws:
ValidationException

Device

public Device(DI identity,
              UDAVersion version,
              DeviceType type,
              DeviceDetails details,
              Icon[] icons,
              S[] services,
              D[] embeddedDevices)
       throws ValidationException
Throws:
ValidationException
Method Detail

getIdentity

public DI getIdentity()

getVersion

public UDAVersion getVersion()

getType

public DeviceType getType()

getDetails

public DeviceDetails getDetails()

getIcons

public Icon[] getIcons()

hasIcons

public boolean hasIcons()

hasServices

public boolean hasServices()

hasEmbeddedDevices

public boolean hasEmbeddedDevices()

getParentDevice

public D getParentDevice()

isRoot

public boolean isRoot()

getServices

public abstract S[] getServices()

getEmbeddedDevices

public abstract D[] getEmbeddedDevices()

getRoot

public abstract D getRoot()

findDevice

public abstract D findDevice(UDN udn)

findEmbeddedDevices

public D[] findEmbeddedDevices()

findDevices

public D[] findDevices(DeviceType deviceType)

findDevices

public D[] findDevices(ServiceType serviceType)

findIcons

public Icon[] findIcons()

findServices

public S[] findServices()

findServices

public S[] findServices(ServiceType serviceType)

find

protected D find(UDN udn,
                 D current)

findEmbeddedDevices

protected Collection<D> findEmbeddedDevices(D current)

find

protected Collection<D> find(DeviceType deviceType,
                             D current)

find

protected Collection<D> find(ServiceType serviceType,
                             D current)

findServices

protected Collection<S> findServices(ServiceType serviceType,
                                     ServiceId serviceId,
                                     D current)

findService

public S findService(ServiceId serviceId)

findService

public S findService(ServiceType serviceType)

findServiceTypes

public ServiceType[] findServiceTypes()

getDisplayString

public String getDisplayString()

validate

public List<ValidationError> validate()
Specified by:
validate in interface Validatable

equals

public boolean equals(Object o)
Overrides:
equals in class Object

hashCode

public int hashCode()
Overrides:
hashCode in class Object

newInstance

public abstract D newInstance(UDN udn,
                              UDAVersion version,
                              DeviceType type,
                              DeviceDetails details,
                              Icon[] icons,
                              S[] services,
                              List<D> embeddedDevices)
                                      throws ValidationException
Throws:
ValidationException

newInstance

public abstract S newInstance(ServiceType serviceType,
                              ServiceId serviceId,
                              URI descriptorURI,
                              URI controlURI,
                              URI eventSubscriptionURI,
                              Action<S>[] actions,
                              StateVariable<S>[] stateVariables)
                                       throws ValidationException
Throws:
ValidationException

toDeviceArray

public abstract D[] toDeviceArray(Collection<D> col)

newServiceArray

public abstract S[] newServiceArray(int size)

toServiceArray

public abstract S[] toServiceArray(Collection<S> col)

discoverResources

public abstract Resource[] discoverResources(Namespace namespace)

toString

public String toString()
Overrides:
toString in class Object


Copyright © 2010 Teleal GmbH, Switzerland. All Rights Reserved.