public interface AUID extends Comparable<AUID>, Serializable
Specifies a 16-byte unique identifier whose value is a SMPTE 298M Universal Label or a UUID or GUID.
UUIDs are defined in rfc 4122. For media metadata, SMPTE have defined a dictionary for Universal Labels, which are representable by AUID values, that is defined according to SMPTE 335M "Metadata Dictionary Structure". This current version of the dictionary can be accessed via the SMPTE Registration Authority's website.
A Universal label is represented as an AUID by storing bytes 9 to 16 of the label in bytes 1 to 8 of an AUID and bytes 1 to 8 of the same Universal label in bytes 9 to 16 of the same AUID.
The terminology used to describe the methods of this interface is taken from the UUID specification.
To make values of this type, use the following methods from the MAJ forge:
Forge.makeAUID(byte[]);Forge.makeAUID(int, short, short, byte[]);Forge.timebasedAUID() and
Forge.timebasedAUID(byte[]);Forge.namebasedAUID(byte[]) and
Forge.namebasedAUID(String);Forge.randomAUID();toString():
Forge.parseAUID(String).| Modifier and Type | Method and Description |
|---|---|
AUID |
clone()
Create a cloned copy of this AUID value.
|
byte[] |
getAUIDValue()
Returns a 16-byte array representation of this AUID value.
|
int |
getData1()
Returns the time-low part of the AUID.
|
short |
getData2()
Returns the time-mid part of the AUID.
|
short |
getData3()
Returns the time-hi and version parts of the AUID.
|
byte[] |
getData4()
Returns the variant, clock sequence and node parts of the AUID as an 8-byte
array.
|
boolean |
isNil()
Tests to see if the AUID is a nil value, which means that the value of each
of its components is 0.
|
boolean |
isUniversalLabel()
Determines whether this AUID value represents a SMPTE universal label.
|
void |
setData1(int data1)
Sets the time-low part of the AUID.
|
void |
setData2(short data2)
Sets the time-mid part of the AUID.
|
void |
setData3(short data3)
Sets the time-hi and version parts of the AUID.
|
void |
setData4(byte[] data4)
Sets the variant, clock sequence and node parts of the AUID using an 8-byte
array.
|
String |
toString()
Generates a string representation of this AUID value as a URN as specified in
section 3 of
rfc 4122 or
the commonly used URN representation of Universal Labels (starting with
"
urn:x-ul:" or "urn:smpte:ul:"). |
compareTo@UInt32 int getData1()
Returns the time-low part of the AUID.
void setData1(@UInt32 int data1)
Sets the time-low part of the AUID.
data1 - Time-low part of the AUID.@UInt16 short getData2()
Returns the time-mid part of the AUID.
void setData2(@UInt16 short data2)
Sets the time-mid part of the AUID.
data2 - Time-mid part of the AUID.@UInt16 short getData3()
Returns the time-hi and version parts of the AUID. This is the high part of the timestamp value of a UUID multiplexed with the version number, where the version number refers to what specified kind of UUID this is.
void setData3(@UInt16 short data3)
Sets the time-hi and version parts of the AUID. This is the high part of the timestamp value of a UUID multiplexed with the version number, where the version number refers to the kind of UUID this is.
data3 - Time-hi and version part of the AUID.@UInt8Array byte[] getData4()
Returns the variant, clock sequence and node parts of the AUID as an 8-byte array.
void setData4(@UInt8Array byte[] data4)
Sets the variant, clock sequence and node parts of the AUID using an 8-byte array.
data4 - Variant, clock sequence and node parts of the AUID.boolean isNil()
Tests to see if the AUID is a nil value, which means that the value of each of its components is 0. As a UUID URN, this looks like:
urn:uuid:00000000-0000-0000-0000-000000000000
PackageID.isZero()AUID clone()
Create a cloned copy of this AUID value.
byte[] getAUIDValue()
Returns a 16-byte array representation of this AUID value.
boolean isUniversalLabel()
Determines whether this AUID value represents a SMPTE universal label.
ULString toString()
Generates a string representation of this AUID value as a URN as specified in
section 3 of
rfc 4122 or
the commonly used URN representation of Universal Labels (starting with
"urn:x-ul:" or "urn:smpte:ul:").
toString in class ObjectForge.parseAUID(java.lang.String)(c)2007-2016 Richard Cartwright, all rights reserved. Licensed under Apache 2 license and subject to the AMWA IPR policy.