org.teleal.cling.model.types
Class UDN

java.lang.Object
  extended by org.teleal.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 identifer 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 identifer 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 identifer. In other words, every time you call this method with the same salt on the same machine, you get the same identifer. If you use the same salt on a different machine, a different identifier will be generated.

Control points can remember your device's identifer, it will 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


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