Media Authoring
with Java API

tv.amwa.maj.entity
Class KLVDataDefinition

java.lang.Object
  extended by tv.amwa.maj.entity.InterchangeObject
      extended by tv.amwa.maj.entity.DefinitionObject
          extended by tv.amwa.maj.entity.KLVDataDefinition
All Implemented Interfaces:
Serializable, Cloneable, DefinitionType, MAJCommon, DefinitionObject, InterchangeObject, KLVDataDefinition, XMLSerializable

@AAFClass(uuid1=218169601,
          uuid2=257,
          uuid3=19712,
          uuid4={6,14,43,52,2,6,1,1},
          definedName="KLVDataDefinition",
          description="The KLVDataDefinition class documents the KLVData objects used in the file.")
public class KLVDataDefinition
extends DefinitionObject
implements KLVDataDefinition, Serializable, Cloneable, MAJCommon

Implements a representation of the documentation for the KLV data objects used in a file.

THE COMMENTS FOR THIS CLASS ARE INCOMPLETE.

Author:
Richard Cartwright
See Also:
Serialized Form

Nested Class Summary
static class KLVDataDefinition.XMLHandler
           
 
Nested classes/interfaces inherited from class tv.amwa.maj.entity.DefinitionObject
DefinitionObject.DefinitionObjectXMLHandler
 
Nested classes/interfaces inherited from class tv.amwa.maj.entity.InterchangeObject
InterchangeObject.InterchangeObjectXMLHandler
 
Constructor Summary
KLVDataDefinition(AUID identification, String name)
          Creates and initializes a new KLV data definition, which documents the KLVData objects used in the current persistent unit.
 
Method Summary
 void addParentProperty(PropertyDefinition parentProperty)
           
 void appendXMLChildren(Node parent)
          Append child elements to the given parent node to serialize the value of an object to an XML fragment.
 KLVDataDefinition clone()
          Creates a cloned copy of this entity.
 TypeDefinition getKLVDataType()
          Returns the KLV data type property for this KLV data definition, which specifies the type of the value of the documented KLV data.
 void setKLVDataType(TypeDefinition typeDef)
          Sets the KLV data type property of this KLV data definition, which specifies the type of the value of the documented KLV data.
 void setPropertiesFromInterface(KLVDataDefinition castFrom)
           
 
Methods inherited from class tv.amwa.maj.entity.DefinitionObject
equals, getAUID, getDescription, getLocalizedUID, getName, hashCode, setDescription, setLocalizedUID, setName
 
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.DefinitionObject
getAUID, getDescription, getName, setDescription, setName
 
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
equals, hashCode, toString
 

Constructor Detail

KLVDataDefinition

public KLVDataDefinition(AUID identification,
                         @AAFString
                         String name)
                  throws NullPointerException

Creates and initializes a new KLV data definition, which documents the KLVData objects used in the current persistent unit.

Parameters:
identification - Unique identifier for the KLV data definition.
name - Display name for the KLV data definition.
Throws:
NullPointerException - One or both of the arguments is null.
Method Detail

setPropertiesFromInterface

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

addParentProperty

public void addParentProperty(PropertyDefinition parentProperty)
                       throws NullPointerException
Throws:
NullPointerException

getKLVDataType

@AAFProperty(uuid1=100729092,
             uuid2=265,
             uuid3=0,
             uuid4={6,14,43,52,1,1,1,7},
             definedName="KLVDataType",
             typeName="WeakReference to TypeDefinition",
             optional=true,
             uniqueIdentifier=false,
             pid=19730)
public TypeDefinition getKLVDataType()
Description copied from interface: KLVDataDefinition

Returns the KLV data type property for this KLV data definition, which specifies the type of the value of the documented KLV data.

If this optional property is omitted, the default value of a reference to the type named "VariableArray of UInt8" is returned.

Specified by:
getKLVDataType in interface KLVDataDefinition
Returns:
The type definition referenced by this KLV data definition.
See Also:
TypeDefinitionOpaque

setKLVDataType

public void setKLVDataType(TypeDefinition typeDef)
Description copied from interface: KLVDataDefinition

Sets the KLV data type property of this KLV data definition, which specifies the type of the value of the documented KLV data.

To omit this optional property, call this method with null.

Specified by:
setKLVDataType in interface KLVDataDefinition
Parameters:
typeDef - Referenced type definition that is the KLV data type property of this KLV data definition.

clone

public KLVDataDefinition 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 DefinitionObject
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 DefinitionObject
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.