Media Authoring
with Java API

tv.amwa.maj.entity
Class EssenceDescriptor

java.lang.Object
  extended by tv.amwa.maj.entity.InterchangeObject
      extended by tv.amwa.maj.entity.EssenceDescriptor
All Implemented Interfaces:
Serializable, Cloneable, EssenceDescriptor, InterchangeObject, XMLSerializable
Direct Known Subclasses:
AAFFileDescriptor, FilmDescriptor, PhysicalDescriptor, TapeDescriptor

@AAFClass(uuid1=218169601,
          uuid2=257,
          uuid3=9216,
          uuid4={6,14,43,52,2,6,1,1},
          definedName="EssenceDescriptor",
          description="The EssenceDescriptor class describes the format of the essence associated with a file SourceMob or of the media associated with a physical SourceMob.")
public abstract class EssenceDescriptor
extends InterchangeObject
implements EssenceDescriptor, Serializable, Cloneable

Implements the description of the format of the content data associated with a file source mob or of the media associated with a physical source mob.

THE COMMENTS FOR THIS CLASS ARE INCOMPLETE.

Author:
Richard Cartwright
See Also:
Serialized Form

Nested Class Summary
static class EssenceDescriptor.EssenceDescriptorXMLHandler
           
static class EssenceDescriptor.LocatorXMLHandler
           
static class EssenceDescriptor.SubDescriptorXMLHandler
           
 
Nested classes/interfaces inherited from class tv.amwa.maj.entity.InterchangeObject
InterchangeObject.InterchangeObjectXMLHandler
 
Field Summary
static String ESSENCEDESCRIPTOR_ITEM
           
 
Constructor Summary
EssenceDescriptor()
           
 
Method Summary
 void appendLocator(Locator locator)
          Append a locator to the list of locators of this essence descriptors, with each locator having operating-system-dependent data or text information that provide hints for finding files or physical media.
 void appendSubDescriptor(SubDescriptor subDescriptor)
          Append a sub descriptor to the list of sub descriptors of this essence descriptor, which specify additional descriptor metadata that is not included in the main essence descriptor class hierarchy.
 void appendXMLChildren(Node parent)
          Append child elements to the given parent node to serialize the value of an object to an XML fragment.
 EssenceDescriptor clone()
           
 int countLocators()
          Return the number of locators attached to this essence descriptor, which each have operating-system-dependent data or text information that provide hints for finding files or physical media.
 int countSubDescriptors()
          Returns the number of sub descriptors attached to this essence descriptor, which specify additional descriptor metadata that is not included in the main essence descriptor class hierarchy.
 boolean equals(Object o)
           
 Locator getLocatorAt(int index)
          Retrieves the locator at the given index, where each locator has operating-system-dependent data or text information that provide hints for finding files or physical media.
 List<Locator> getLocators()
          Returns a list of all the locators in this essence descriptors, where each locator has operating-system-dependent data or text information that provide hints for finding files or physical media.
 SubDescriptor getSubDescriptorAt(int index)
          Returns the sub descriptor at the given index through the list of sub descriptors of this essence descriptor, which specify additional descriptor metadata that is not included in the main essence descriptor class hierarchy.
 List<SubDescriptor> getSubDescriptors()
          Returns the list of sub descriptors of this essence descriptor, which specify additional descriptor metadata that is not included in the main essence descriptor class hierarchy.
 int hashCode()
           
 void insertLocatorAt(int index, Locator locator)
          Inserts a locator into the list of locators of this essence descriptors at the given index.
 void insertSubDescriptorAt(int index, SubDescriptor subDescriptor)
          Inserts the given sub descriptor into the list of sub descriptors of this essence descriptor at the given index.
 void prependLocator(Locator locator)
          Prepend a locator to the list of locators of this essence descriptor, with each locator having operating-system-dependent data or text information that provide hints for finding files or physical media.
 void prependSubDescriptor(SubDescriptor subDescriptor)
          Prepend a sub descriptor to the list of sub descriptors of this essence descriptor, which specify additional descriptor metadata that is not included in the main essence descriptor class hierarchy.
 void removeLocatorAt(int index)
          Removes the locator at the given index, where each locator has operating-system-dependent data or text information that provide hints for finding files or physical media.
 void removeSubDescriptorAt(int index)
          Removes the sub descriptor at the given index through the list of sub descriptors of this essence descriptor, which specify additional descriptor metadata that is not included in the main essence descriptor class hierarchy.
 void setPropertiesFromInterface(EssenceDescriptor castFrom)
           
 
Methods inherited from class tv.amwa.maj.entity.InterchangeObject
castFromInterface, countProperties, createOptionalPropertyValue, disableGenerationTracking, enableGenerationTracking, getDefinition, getGeneration, getGenerationAUID, getProperties, getPropertyValue, isGenerationTracked, isPropertyPresent, omitOpionalProperty, registerImplementation, setPropertiesFromInterface, setPropertyValue, toString
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface tv.amwa.maj.iface.InterchangeObject
countProperties, createOptionalPropertyValue, disableGenerationTracking, enableGenerationTracking, getDefinition, getGeneration, getGenerationAUID, getProperties, getPropertyValue, isGenerationTracked, isPropertyPresent, omitOpionalProperty, setPropertyValue
 

Field Detail

ESSENCEDESCRIPTOR_ITEM

public static final String ESSENCEDESCRIPTOR_ITEM
See Also:
Constant Field Values
Constructor Detail

EssenceDescriptor

public EssenceDescriptor()
Method Detail

setPropertiesFromInterface

public final void setPropertiesFromInterface(EssenceDescriptor castFrom)
See Also:
InterchangeObject.setPropertiesFromInterface(tv.amwa.maj.iface.InterchangeObject)

appendLocator

public void appendLocator(Locator locator)
                   throws NullPointerException
Description copied from interface: EssenceDescriptor

Append a locator to the list of locators of this essence descriptors, with each locator having operating-system-dependent data or text information that provide hints for finding files or physical media. Use this function to add a locator to be scanned last when searching for the essence, providing a secondary location for the essence.

Specified by:
appendLocator in interface EssenceDescriptor
Parameters:
locator - Locator to append to the list of locators in this essence descriptor.
Throws:
NullPointerException - The given locator is null.

countLocators

public int countLocators()
Description copied from interface: EssenceDescriptor

Return the number of locators attached to this essence descriptor, which each have operating-system-dependent data or text information that provide hints for finding files or physical media. The number of locators may be zero if the essence is located within the current file.

Specified by:
countLocators in interface EssenceDescriptor
Returns:
Number of locators in this essence descriptor.

getLocatorAt

public Locator getLocatorAt(int index)
                     throws IndexOutOfBoundsException
Description copied from interface: EssenceDescriptor

Retrieves the locator at the given index, where each locator has operating-system-dependent data or text information that provide hints for finding files or physical media.

Specified by:
getLocatorAt in interface EssenceDescriptor
Parameters:
index - Index of locator to retrieve from the list of locators of the essence descriptor.
Returns:
Locator at given index.
Throws:
IndexOutOfBoundsException - The given index is outside the acceptable range for the current list of essence descriptors.

getLocators

@AAFProperty(uuid1=100729092,
             uuid2=1539,
             uuid3=0,
             uuid4={6,14,43,52,1,1,1,2},
             definedName="Locator",
             typeName="StrongReferenceVector of Locator",
             optional=true,
             uniqueIdentifier=false,
             pid=12033)
public List<Locator> getLocators()
Description copied from interface: EssenceDescriptor

Returns a list of all the locators in this essence descriptors, where each locator has operating-system-dependent data or text information that provide hints for finding files or physical media. The number of locators may be zero if the essence is in the current file.

Specified by:
getLocators in interface EssenceDescriptor
Returns:
A shallow copy of the list of locators in the essence descriptor.

insertLocatorAt

public void insertLocatorAt(int index,
                            Locator locator)
                     throws NullPointerException,
                            IndexOutOfBoundsException
Description copied from interface: EssenceDescriptor

Inserts a locator into the list of locators of this essence descriptors at the given index. Each locator has operating-system-dependent data or text information that provide hints for finding files or physical media. The locators already existing at the given and higher indices will be moved to the next higher index to accommodate.

Specified by:
insertLocatorAt in interface EssenceDescriptor
Parameters:
index - Index at which locator is to be inserted
locator - Locator to insert.
Throws:
NullPointerException - Argument is null.
IndexOutOfBoundsException - The given index is outside the acceptable range for the current list of essence descriptors.

prependLocator

public void prependLocator(Locator locator)
                    throws NullPointerException
Description copied from interface: EssenceDescriptor

Prepend a locator to the list of locators of this essence descriptor, with each locator having operating-system-dependent data or text information that provide hints for finding files or physical media. Use this function to add a locator to be scanned first when searching for the essence, providing a new primary location for the essence.

Specified by:
prependLocator in interface EssenceDescriptor
Parameters:
locator - Locator to prepend to the list of locators in this essence descriptor.
Throws:
NullPointerException

removeLocatorAt

public void removeLocatorAt(int index)
                     throws IndexOutOfBoundsException
Description copied from interface: EssenceDescriptor

Removes the locator at the given index, where each locator has operating-system-dependent data or text information that provide hints for finding files or physical media. Locators already existing at indices higher than the given index will be moved to the next lower index to accommodate.

Specified by:
removeLocatorAt in interface EssenceDescriptor
Parameters:
index - Index of locator to remove from the list of locators of this essence descriptor.
Throws:
IndexOutOfBoundsException - The given index is outside the acceptable range for the current list of essence descriptors.

getSubDescriptors

@AAFProperty(uuid1=100729092,
             uuid2=1552,
             uuid3=0,
             uuid4={6,14,43,52,1,1,1,9},
             definedName="SubDescriptors",
             typeName="StrongReferenceVector of SubDescriptor",
             optional=true,
             uniqueIdentifier=false,
             pid=12034)
public List<SubDescriptor> getSubDescriptors()
Description copied from interface: EssenceDescriptor

Returns the list of sub descriptors of this essence descriptor, which specify additional descriptor metadata that is not included in the main essence descriptor class hierarchy. The sub descriptor list may be empty.

Specified by:
getSubDescriptors in interface EssenceDescriptor
Returns:
Shallow copy of the list of sub descriptors of this essence descriptor.

countSubDescriptors

public int countSubDescriptors()
Description copied from interface: EssenceDescriptor

Returns the number of sub descriptors attached to this essence descriptor, which specify additional descriptor metadata that is not included in the main essence descriptor class hierarchy. This list of sub-descriptors may be empty.

Specified by:
countSubDescriptors in interface EssenceDescriptor
Returns:
Number of sub descriptors attached to this essence descriptor.

appendSubDescriptor

public void appendSubDescriptor(SubDescriptor subDescriptor)
                         throws NullPointerException
Description copied from interface: EssenceDescriptor

Append a sub descriptor to the list of sub descriptors of this essence descriptor, which specify additional descriptor metadata that is not included in the main essence descriptor class hierarchy.

Specified by:
appendSubDescriptor in interface EssenceDescriptor
Parameters:
subDescriptor - Sub descriptor to append to the list of sub descriptors for this essence descriptor.
Throws:
NullPointerException - The given sub descriptor is null.

getSubDescriptorAt

public SubDescriptor getSubDescriptorAt(@UInt32
                                        int index)
                                 throws IndexOutOfBoundsException
Description copied from interface: EssenceDescriptor

Returns the sub descriptor at the given index through the list of sub descriptors of this essence descriptor, which specify additional descriptor metadata that is not included in the main essence descriptor class hierarchy.

Specified by:
getSubDescriptorAt in interface EssenceDescriptor
Parameters:
index - Index of the sub descriptor value to retrieve.
Returns:
Sub descriptor at the given index.
Throws:
IndexOutOfBoundsException - The given index is outside the acceptable range for the current list of sub descriptors.

prependSubDescriptor

public void prependSubDescriptor(SubDescriptor subDescriptor)
Description copied from interface: EssenceDescriptor

Prepend a sub descriptor to the list of sub descriptors of this essence descriptor, which specify additional descriptor metadata that is not included in the main essence descriptor class hierarchy.

Specified by:
prependSubDescriptor in interface EssenceDescriptor
Parameters:
subDescriptor - Sub descriptor to prepend to the list of sub descriptors for this essence descriptor.

insertSubDescriptorAt

public void insertSubDescriptorAt(@UInt32
                                  int index,
                                  SubDescriptor subDescriptor)
                           throws NullPointerException,
                                  IndexOutOfBoundsException
Description copied from interface: EssenceDescriptor

Inserts the given sub descriptor into the list of sub descriptors of this essence descriptor at the given index. Sub descriptors specify additional descriptor metadata that is not included in the main essence descriptor class hierarchy.

Specified by:
insertSubDescriptorAt in interface EssenceDescriptor
Parameters:
index - Index at which the sub descriptor should be inserted into the list of sub descriptors of this essence descriptor.
subDescriptor - Sub descriptor to insert.
Throws:
NullPointerException - The sub descriptor argument is null.
IndexOutOfBoundsException - The given index is outside the acceptable range for the list of sub descriptors of this essence descriptor.

removeSubDescriptorAt

public void removeSubDescriptorAt(@UInt32
                                  int index)
                           throws IndexOutOfBoundsException
Description copied from interface: EssenceDescriptor

Removes the sub descriptor at the given index through the list of sub descriptors of this essence descriptor, which specify additional descriptor metadata that is not included in the main essence descriptor class hierarchy. Sub descriptors at higher indices will be moved to fill the gap made by the removal.

Specified by:
removeSubDescriptorAt in interface EssenceDescriptor
Parameters:
index - Index of the sub descriptor to remove.
Throws:
IndexOutOfBoundsException - The given index is outside the acceptable range for the current list of sub descriptors.

equals

public boolean equals(Object o)
Overrides:
equals in class Object

hashCode

public int hashCode()
Overrides:
hashCode in class Object

clone

public EssenceDescriptor clone()
Overrides:
clone in class Object

appendXMLChildren

public void appendXMLChildren(Node parent)
Description copied from interface: XMLSerializable

Append child elements to the given parent node to serialize the value of an object to an XML fragment. Methods of the XMLBuilder class are provided to help with this process.

Specified by:
appendXMLChildren in interface XMLSerializable
Overrides:
appendXMLChildren in class InterchangeObject
Parameters:
parent - XML parent element to append child nodes to.

Media Authoring
with Java API

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