org.cybergarage.upnp.xml

## Class DeviceData

- java.lang.Object
- - org.cybergarage.upnp.xml.NodeData
  - - org.cybergarage.upnp.xml.DeviceData

-     public class DeviceData
      extends NodeData

  Data container for UPnP device information and metadata.

  This class extends NodeData to represent device definitions from UPnP device descriptions. It encapsulates metadata about devices including description files, locations, and advertisement settings.

  Key features:

  - Device description file management
  - Multiple location support (I2P enhancement)
  - Advertisement configuration
  - XML node data inheritance
  - Device metadata handling

  This class is used by UPnP devices to manage their description data and configuration, enabling proper device advertisement and service discovery functionality.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `DeviceData()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Advertiser` | `getAdvertiser()`
    `ListenerList` | `getControlActionListenerList()`
    `File` | `getDescriptionFile()`
    `String` | `getDescriptionURI()`
    `InetAddress[]` | `getHTTPBindAddress()`
    `int` | `getHTTPPort()`
    `HTTPServerList` | `getHTTPServerList()`
    `int` | `getLeaseTime()`
    `String` | `getLocation()`
    `String` | `getLocation(boolean preferIPv6)` I2P for multiple location support
    `String` | `getMulticastIPv4Address()`
    `String` | `getMulticastIPv6Address()`
    `InetAddress[]` | `getSSDPBindAddress()`
    `SSDPPacket` | `getSSDPPacket()`
    `SSDPPacket` | `getSSDPPacket(boolean preferIPv6)` I2P for multiple location support
    `int` | `getSSDPPort()`
    `SSDPSearchSocketList` | `getSSDPSearchSocketList()`
    `void` | `setAdvertiser(Advertiser adv)`
    `void` | `setDescriptionFile(File descriptionFile)`
    `void` | `setDescriptionURI(String descriptionURI)`
    `void` | `setHTTPBindAddress(InetAddress[] inets)`
    `void` | `setHTTPPort(int port)`
    `void` | `setLeaseTime(int val)`
    `void` | `setLocation(String location)`
    `void` | `setMulticastIPv4Address(String ip)`
    `void` | `setMulticastIPv6Address(String ip)`
    `void` | `setSSDPBindAddress(InetAddress[] inets)`
    `void` | `setSSDPPacket(SSDPPacket packet)`
    `void` | `setSSDPPort(int port)`

    - ### Methods inherited from class org.cybergarage.upnp.xml.NodeData

      `getNode, setNode`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### DeviceData

          public DeviceData()

  - ### Method Detail

    - #### getAdvertiser

          public Advertiser getAdvertiser()

    - #### getControlActionListenerList

          public ListenerList getControlActionListenerList()

    - #### getDescriptionFile

          public File getDescriptionFile()

    - #### getDescriptionURI

          public String getDescriptionURI()

    - #### getHTTPBindAddress

          public InetAddress[] getHTTPBindAddress()

    - #### getHTTPPort

          public int getHTTPPort()

    - #### getHTTPServerList

          public HTTPServerList getHTTPServerList()

    - #### getLeaseTime

          public int getLeaseTime()

    - #### getLocation

          public String getLocation()

    - #### getLocation

          public String getLocation(boolean preferIPv6)

      I2P for multiple location support

    - #### getMulticastIPv4Address

          public String getMulticastIPv4Address()

      Returns:
        The IPv4 address used for Multicast comunication

    - #### getMulticastIPv6Address

          public String getMulticastIPv6Address()

      Returns:
        The IPv6 address used as destination address for Multicast comunication

    - #### getSSDPBindAddress

          public InetAddress[] getSSDPBindAddress()

      Returns:
        inets The `InetAddress` that will be binded for this service `null` means that defulat behaviur will be used

    - #### getSSDPPacket

          public SSDPPacket getSSDPPacket()

    - #### getSSDPPacket

          public SSDPPacket getSSDPPacket(boolean preferIPv6)

      I2P for multiple location support

    - #### getSSDPPort

          public int getSSDPPort()

      Returns:
        The port used for binding the SSDP service. The port will be used as source port for all SSDP messages

    - #### getSSDPSearchSocketList

          public SSDPSearchSocketList getSSDPSearchSocketList()

    - #### setAdvertiser

          public void setAdvertiser(Advertiser adv)

    - #### setDescriptionFile

          public void setDescriptionFile(File descriptionFile)

    - #### setDescriptionURI

          public void setDescriptionURI(String descriptionURI)

    - #### setHTTPBindAddress

          public void setHTTPBindAddress(InetAddress[] inets)

    - #### setHTTPPort

          public void setHTTPPort(int port)

    - #### setLeaseTime

          public void setLeaseTime(int val)

    - #### setLocation

          public void setLocation(String location)

    - #### setMulticastIPv4Address

          public void setMulticastIPv4Address(String ip)

      Parameters:
        `ip` - The IPv4 address used as destination address for Multicast comunication

    - #### setMulticastIPv6Address

          public void setMulticastIPv6Address(String ip)

      Parameters:
        `ip` - The IPv6 address used as destination address for Multicast comunication

    - #### setSSDPBindAddress

          public void setSSDPBindAddress(InetAddress[] inets)

      Parameters:
        `inets` - The `InetAddress` that will be binded for listing this service. Use `null` for the default behaviur.
      See Also:
        `org.cybergarage.upnp.ssdp`, `org.cybergarage.upnp`, `HostInterface`

    - #### setSSDPPacket

          public void setSSDPPacket(SSDPPacket packet)

    - #### setSSDPPort

          public void setSSDPPort(int port)

      Parameters:
        `port` - The port to use for binding the SSDP service. The port will be used as source port for all SSDP messages