Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.fourthline.cling.model.types
Class UDN

    java.lang.Object
      org.fourthline.cling.model.types.UDN

    public class UDN

extends Object

A unique device name.

UDA 1.0 does not specify a UUID format, however, UDA 1.1 specifies a format that is compatible with `java.util.UUID` variant 4. You can use any identifier string you like.

You'll most likely need the `uniqueSystemIdentifier(String)` method sooner or later.

Author:
  Christian Bauer

Field Summary
`static String` | `PREFIX`

Constructor Summary
`UDN(String identifierString)`
`UDN(UUID uuid)`

Method Summary
`boolean` | `equals(Object o)`
`String` | `getIdentifierString()`
`int` | `hashCode()`
`boolean` | `isUDA11Compliant()`
`String` | `toString()`
`static UDN` | `uniqueSystemIdentifier(String salt)` Generates a global unique identifier that is the same every time this method is invoked on the same machine.
`static UDN` | `valueOf(String udnString)`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Field Detail

### PREFIX

    public static final String PREFIX

See Also:
  Constant Field Values

Constructor Detail

### UDN

    public UDN(String identifierString)

Parameters:
  `identifierString` - The identifier string without the "uuid:" prefix.

### UDN

    public UDN(UUID uuid)

Method Detail

### isUDA11Compliant

    public boolean isUDA11Compliant()

### getIdentifierString

    public String getIdentifierString()

### valueOf

    public static UDN valueOf(String udnString)

### uniqueSystemIdentifier

    public static UDN uniqueSystemIdentifier(String salt)

  Generates a global unique identifier that is the same every time this method is invoked on the same machine.

  This method discovers various pieces of information about the local system such as hostname, MAC address, OS name and version. It then combines this information with the given salt to generate a globally unique identifier. In other words, every time you call this method with the same salt on the same machine, you get the same identifier. If you use the same salt on a different machine, a different identifier will be generated.

  Note for Android users: This method does not generate unique identifiers on Android devices and will throw an exception. We can't get details such as the hostname or MAC address on Android. Instead, construct a UDN with `new UDN(UUID)`. When your application is first started, generate all UUIDs needed for your UPnP devices and store them in your Android preferences. Then, use the stored UUID to create a UDN every time your application starts.

  Control points can remember your device's identifier, it will and should be the same every time your device is powered up.

  Parameters:
    `salt` - An arbitrary string that uniquely identifies the devices on the current system, e.g. "MyMediaServer".
  Returns:
    A global unique identifier, stable for the current system and salt.

### toString

    public String toString()

  Overrides:
    `toString` in class `Object`

### equals

    public boolean equals(Object o)

  Overrides:
    `equals` in class `Object`

### hashCode

    public int hashCode()

  Overrides:
    `hashCode` in class `Object`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2013 4th Line GmbH, Switzerland. All Rights Reserved.