Media Authoring
with Java API

tv.amwa.maj.entity
Class AIFCDescriptor

java.lang.Object
  extended by tv.amwa.maj.entity.InterchangeObject
      extended by tv.amwa.maj.entity.EssenceDescriptor
          extended by tv.amwa.maj.entity.AAFFileDescriptor
              extended by tv.amwa.maj.entity.AIFCDescriptor
All Implemented Interfaces:
Serializable, Cloneable, MAJCommon, AAFFileDescriptor, AIFCDescriptor, EssenceDescriptor, InterchangeObject, XMLSerializable

@AAFClass(uuid1=218169601,
          uuid2=257,
          uuid3=9728,
          uuid4={6,14,43,52,2,6,1,1},
          definedName="AIFCDescriptor",
          description="The AIFCDescriptor class specifies that a File SourceMob is associated with audio essence formatted according to the Audio Interchange File Format with Compression (AIFC).")
public class AIFCDescriptor
extends AAFFileDescriptor
implements AIFCDescriptor, Serializable, Cloneable, MAJCommon

Implements the description of a file of audio essence formatted according to the Audio Interchange File Format with Compression (AIFC).

THE COMMENTS FOR THIS CLASS ARE INCOMPLETE.

Author:
Richard Cartwright
See Also:
Serialized Form

Nested Class Summary
static class AIFCDescriptor.XMLHandler
           
 
Nested classes/interfaces inherited from class tv.amwa.maj.entity.AAFFileDescriptor
AAFFileDescriptor.FileDescriptorXMLHandler
 
Nested classes/interfaces inherited from class tv.amwa.maj.entity.EssenceDescriptor
EssenceDescriptor.EssenceDescriptorXMLHandler, EssenceDescriptor.LocatorXMLHandler, EssenceDescriptor.SubDescriptorXMLHandler
 
Nested classes/interfaces inherited from class tv.amwa.maj.entity.InterchangeObject
InterchangeObject.InterchangeObjectXMLHandler
 
Field Summary
static String AIFCDESCRIPTOR_TAG
           
 
Fields inherited from class tv.amwa.maj.entity.AAFFileDescriptor
FILEDESCRIPTOR_ITEM
 
Fields inherited from class tv.amwa.maj.entity.EssenceDescriptor
ESSENCEDESCRIPTOR_ITEM
 
Constructor Summary
AIFCDescriptor(ContainerDefinition containerFormat, Rational sampleRate, long length, byte[] summary)
          Creates and initializes a new AIFC descriptor with the required summary data.
 
Method Summary
 void appendXMLChildren(Node parent)
          Append child elements to the given parent node to serialize the value of an object to an XML fragment.
 AIFCDescriptor clone()
          Creates a cloned copy of this entity.
 boolean equals(Object o)
          Tests to see if the given object is equal to this interchange object.
 byte[] getSummary()
          Gets a copy of the descriptive information in the associated AIFC Audio Data value.
 int getSummaryBufferSize()
          Returns the size of the buffer returned by the AIFCDescriptor.getSummary() method.
 int hashCode()
          Returns a hash code value for this interchange object.
 void setPropertiesFromInterface(AIFCDescriptor castFrom)
           
 void setSummary(byte[] summary)
          Sets the AIFC file information, the descriptive information in the associated AIFC audio data value.
 
Methods inherited from class tv.amwa.maj.entity.AAFFileDescriptor
describesStaticEssence, getCodecDefinition, getContainerFormat, getLength, getLinkedSlotID, getSampleRate, setCodecDefinition, setContainerFormat, setDescribesStaticEssence, setDescribesTimeVaryingEssence, setLength, setLinkedSlotID, setPropertiesFromInterface, setSampleRate
 
Methods inherited from class tv.amwa.maj.entity.EssenceDescriptor
appendLocator, appendSubDescriptor, countLocators, countSubDescriptors, getLocatorAt, getLocators, getSubDescriptorAt, getSubDescriptors, insertLocatorAt, insertSubDescriptorAt, prependLocator, prependSubDescriptor, removeLocatorAt, removeSubDescriptorAt, setPropertiesFromInterface
 
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.AAFFileDescriptor
getCodecDefinition, getContainerFormat, getLength, getLinkedSlotID, getSampleRate, setCodecDefinition, setContainerFormat, setLength, setLinkedSlotID, setSampleRate
 
Methods inherited from interface tv.amwa.maj.iface.EssenceDescriptor
appendLocator, appendSubDescriptor, countLocators, countSubDescriptors, getLocatorAt, getLocators, getSubDescriptorAt, getSubDescriptors, insertLocatorAt, insertSubDescriptorAt, prependLocator, prependSubDescriptor, removeLocatorAt, removeSubDescriptorAt
 
Methods inherited from interface tv.amwa.maj.iface.InterchangeObject
countProperties, createOptionalPropertyValue, disableGenerationTracking, enableGenerationTracking, getDefinition, getGeneration, getGenerationAUID, getProperties, getPropertyValue, isGenerationTracked, isPropertyPresent, omitOpionalProperty, setPropertyValue
 
Methods inherited from interface tv.amwa.maj.entity.MAJCommon
toString
 

Field Detail

AIFCDESCRIPTOR_TAG

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

AIFCDescriptor

public AIFCDescriptor(ContainerDefinition containerFormat,
                      Rational sampleRate,
                      @LengthType
                      long length,
                      @DataValue
                      byte[] summary)
               throws NullPointerException,
                      BadLengthException

Creates and initializes a new AIFC descriptor with the required summary data.

Parameters:
containerFormat - Container mechanism used to store the essence.
sampleRate - Sample rate of the essence.
length - Duration of the essence measured in sample units.
summary - Copy of the descriptive information in the associated AIFC audio data value.
Throws:
NullPointerException - Argument is null.
BadLengthException - The given length of the described material is negative.
Method Detail

setPropertiesFromInterface

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

getSummary

@AAFProperty(uuid1=50529026,
             uuid2=512,
             uuid3=0,
             uuid4={6,14,43,52,1,1,1,2},
             definedName="Summary",
             typeName="DataValue",
             optional=false,
             uniqueIdentifier=false,
             pid=12545)
public byte[] getSummary()
Description copied from interface: AIFCDescriptor

Gets a copy of the descriptive information in the associated AIFC Audio Data value.

Specified by:
getSummary in interface AIFCDescriptor
Returns:
A copy of the descriptive information in the associated AIFC audio data value.

getSummaryBufferSize

public int getSummaryBufferSize()
Description copied from interface: AIFCDescriptor

Returns the size of the buffer returned by the AIFCDescriptor.getSummary() method.

Specified by:
getSummaryBufferSize in interface AIFCDescriptor
Returns:
Size of the summary buffer.

setSummary

public void setSummary(byte[] summary)
                throws NullPointerException
Description copied from interface: AIFCDescriptor

Sets the AIFC file information, the descriptive information in the associated AIFC audio data value.

Specified by:
setSummary in interface AIFCDescriptor
Parameters:
summary - A copy of the descriptive information in the associated AIFC Audio Data value.
Throws:
NullPointerException - The given summary buffer is null.

equals

public boolean equals(Object o)
Description copied from interface: MAJCommon

Tests to see if the given object is equal to this interchange object. To be equal, the given value must be not null, share the same interface to its value and each of the properties of the value must each be equal.

Specified by:
equals in interface MAJCommon
Overrides:
equals in class AAFFileDescriptor
Parameters:
o - Object to test for equality with.
Returns:
Is the given object equals to this value?
See Also:
Object.equals(Object)

hashCode

public int hashCode()
Description copied from interface: MAJCommon

Returns a hash code value for this interchange object.

Specified by:
hashCode in interface MAJCommon
Overrides:
hashCode in class AAFFileDescriptor
Returns:
Hash code value for this interchange object.
See Also:
Object.hashCode()

clone

public AIFCDescriptor clone()
Description copied from interface: MAJCommon

Creates a cloned copy of this entity. The clone will be initialized to have the same value as this value but exists independently from then on. Changes to this value will not effect the clone and changes to the clone will not effect this. MAJ API clones are true deep clones with no shared references to areas of memory within the original.

This method does not throw a CloneNotSupportedException as all entity values must implement the Cloneable interface. If a cloning error does occur, a null value will be returned but this is very unlikely to happen.

Specified by:
clone in interface MAJCommon
Overrides:
clone in class EssenceDescriptor
Returns:
Independent clone of this value, which is a deep copy.
See Also:
Object.clone()

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 AAFFileDescriptor
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.