Media Authoring
with Java API

tv.amwa.maj.record
Interface MobID

All Known Implementing Classes:
MobID

public interface MobID

Specifies a 32 byte mob id unique identifier that can hold a SMPTE UMID, as specified in SMPTE 330M. Bytes 14 to 32 of a UMID can be treated as a dumb number, the value of which has no intrinsic meaning.

A mob id is globally unique. Please see section 4.3.1 of the AAF object specification v1.1 for details of the immutability of mob ids.

Note that the description of byte positions used in the documentation for each method of this interface use 1-based indexing.

Author:
Richard Cartwright
See Also:
MobID, TypeDefinitionRecord.MobIDType, MobIDType, AUID

Method Summary
 byte getInstanceHigh()
          Returns the most significant bit of the 3 byte instance number, which is stored as bytes 14 to 16 of the mob id.
 byte getInstanceLow()
          Returns the least significant byte of the 3 byte instance number, which is stored as bytes 14 to 16 of the mob id.
 byte getInstanceMid()
          Returns the middle byte of the 3 byte instance number, which is stored as bytes 14 to 16 of the mob id.
 byte getLength()
          Returns the length of the mob id in terms of the number of bytes following this byte, as stored at byte 13 of the mob id.
 AUID getMaterial()
          Returns the material number of the mob id, represented as an AUID, which is taken from bytes 17 to 32 of the mob id.
 byte[] getUniversalLabel()
          Returns the universal label that makes up bytes 1 to 12 of a mob id.
 boolean isZero()
          Returns true if this mob identifier the special zero mob identifier, where all 32-bytes of the identifier are zero; otherwise false.
 void setInstanceHigh(byte instanceHigh)
          Sets the most significant bit of the 3 byte instance number, which is stored as bytes 14 to 16 of the mob id.
 void setInstanceLow(byte instanceLow)
          Sets the least significant byte of the 3 byte instance number, which is stored as bytes 14 to 16 of the mob id.
 void setInstanceMid(byte instanceMid)
          Sets the middle byte of the 3 byte instance number, which is stored as bytes 14 to 16 of the mob id.
 void setLength(byte length)
          Returns the length of the mob id in terms of the number of bytes following this byte, as stored at byte 13 of the mob id.
 void setMaterial(AUID material)
          Sets the material number of the mob id, represented as an AUID, which is taken from bytes 17 to 32 of the mob id.
 void setUniversalLabel(byte[] label)
          Sets the universal label that makes up bytes 1 to 12 of a mob id.
 

Method Detail

getUniversalLabel

@UInt8
byte[] getUniversalLabel()

Returns the universal label that makes up bytes 1 to 12 of a mob id.

Returns:
Universal label component of the mob id.

setUniversalLabel

void setUniversalLabel(@UInt8
                       byte[] label)
                       throws NullPointerException

Sets the universal label that makes up bytes 1 to 12 of a mob id.

Parameters:
label - Universal label component of the mob id.
Throws:
NullPointerException - The given universal label for this mob id is null.

getLength

@UInt8
byte getLength()

Returns the length of the mob id in terms of the number of bytes following this byte, as stored at byte 13 of the mob id. This value is normally 19 (0x13) for a 32 byte mob id.

Returns:
Length component of the mob id.

setLength

void setLength(@UInt8
               byte length)

Returns the length of the mob id in terms of the number of bytes following this byte, as stored at byte 13 of the mob id. This value is normally 19 (0x13) for a 32 byte mob id.

Parameters:
length - Length component of the mob id.

getInstanceHigh

@UInt8
byte getInstanceHigh()

Returns the most significant bit of the 3 byte instance number, which is stored as bytes 14 to 16 of the mob id. This value is the 14th byte of the mob id.

Returns:
Most significant byte of the instance number component of the mob id.

setInstanceHigh

void setInstanceHigh(@UInt8
                     byte instanceHigh)

Sets the most significant bit of the 3 byte instance number, which is stored as bytes 14 to 16 of the mob id. This value is the 14th byte of the mob id.

Parameters:
instanceHigh - Most significant byte of the instance number component of the mob id.

getInstanceMid

@UInt8
byte getInstanceMid()

Returns the middle byte of the 3 byte instance number, which is stored as bytes 14 to 16 of the mob id. This value is the 15th byte of the mob id.

Returns:
Middle byte of the instance number component of the mob id.

setInstanceMid

void setInstanceMid(@UInt8
                    byte instanceMid)

Sets the middle byte of the 3 byte instance number, which is stored as bytes 14 to 16 of the mob id. This value is the 15th byte of the mob id.

Parameters:
instanceMid - Middle byte of the instance number component of the mob id.

getInstanceLow

@UInt8
byte getInstanceLow()

Returns the least significant byte of the 3 byte instance number, which is stored as bytes 14 to 16 of the mob id. This value is the 16th byte of the mob id.

Returns:
Least significant byte of the instance number component of the mob id.

setInstanceLow

void setInstanceLow(@UInt8
                    byte instanceLow)

Sets the least significant byte of the 3 byte instance number, which is stored as bytes 14 to 16 of the mob id. This value is the 16th byte of the mob id.

Parameters:
instanceLow - Least significant byte of the instance number component of the mob id.

getMaterial

AUID getMaterial()

Returns the material number of the mob id, represented as an AUID, which is taken from bytes 17 to 32 of the mob id.

Returns:
Material number component of the mob id.

setMaterial

void setMaterial(AUID material)
                 throws NullPointerException

Sets the material number of the mob id, represented as an AUID, which is taken from bytes 17 to 32 of the mob id.

Parameters:
material - Material number component of the mob id
Throws:
NullPointerException - The given material number is null.

isZero

boolean isZero()

Returns true if this mob identifier the special zero mob identifier, where all 32-bytes of the identifier are zero; otherwise false. The zero mob identifier is represented as a URN as follows:

urn:x-umid:000000000000000000000000-00-000000-00000000000000000000000000000000

Zero mob ids are used to specify original source references for source clips, indicating that a mob represents the original source of essence or data.

Returns:
Is the mob identifier the special zero mob identifier?
See Also:
MobID.getZeroMobID(), SourceReferenceValue.isOriginalSource(), SourceReferenceSegment.getSourceID(), AUID.isNil()

Media Authoring
with Java API

(c) 2007-2008 Richard Cartwright, all rights reserved. Subject to the terms of the AAF SDK Public Source License.