Media Authoring
with Java API

tv.amwa.maj.entity
Class Transition

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

@AAFClass(uuid1=218169601,
          uuid2=257,
          uuid3=5888,
          uuid4={6,14,43,52,2,6,1,1},
          definedName="Transition",
          description="The Transition class specifies that the two adjacent Segments should be overlapped when they are played and the overlapped sections should be combined using the specified effect.")
public class Transition
extends Component
implements Transition, Serializable, Cloneable, MAJCommon

Implements a means to indicate that the two adjacent Segments should be overlapped when they are played and that the overlapped sections should be combined using the specified effect. Transitions are used to specify sequences according to the specified rules for a sequence. The operation that they specify must be appropriate for use in a transition, which means that it has two inputs and a level parameter.

THE COMMENTS FOR THIS CLASS ARE INCOMPLETE.

Author:
Richard Cartwright
See Also:
Serialized Form

Nested Class Summary
static class Transition.OperationGroupXMLHandler
           
static class Transition.XMLHandler
           
 
Nested classes/interfaces inherited from class tv.amwa.maj.entity.Component
Component.ComponentAttributesXMLHandler, Component.ComponentUserCommentsXMLHandler, Component.ComponentXMLHandler, Component.KLVDataXMLHandler
 
Nested classes/interfaces inherited from class tv.amwa.maj.entity.InterchangeObject
InterchangeObject.InterchangeObjectXMLHandler
 
Field Summary
 
Fields inherited from class tv.amwa.maj.entity.Component
COMPONENT_ITEM
 
Constructor Summary
Transition(DataDefinition dataDefinition, long length, OperationGroup operationGroup, long cutPoint)
          Creates and initializes a transition, which specifies that the two adjacent segments should be overlapped when they are played and that the overlapped sections should be combined using the specified effect.
 
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.
 Transition 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.
 long getCutPoint()
          Returns the point at which a cut would be inserted if this transition were removed.
 OperationGroup getOperationGroup()
          Returns the operation group defining the operation of this transition, which specifies the effect to be applied during the transition.
 int hashCode()
          Returns a hash code value for this interchange object.
 void setCutPoint(long cutPoint)
          Sets the point at which a cut would be inserted if this transition were removed.
 void setOperationGroup(OperationGroup operationGroup)
          Sets the operation group defining the operation of this transition, which specifies the effect to be applied during the transition.
 void setPropertiesFromInterface(Transition castFrom)
           
 
Methods inherited from class tv.amwa.maj.entity.Component
appendAttribute, appendAttribute, appendComment, appendComment, appendKLVData, countAttributes, countComments, countKLVData, getAttributes, getComments, getDataDefinition, getKLVData, getLength, getLengthPresent, removeAttribute, removeComment, removeKLVData, setDataDefinition, setLength, setLengthPresent, 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.Component
appendAttribute, appendAttribute, appendComment, appendComment, appendKLVData, countAttributes, countComments, countKLVData, getAttributes, getComments, getDataDefinition, getKLVData, getLength, removeAttribute, removeComment, removeKLVData, setDataDefinition, setLength
 
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
 

Constructor Detail

Transition

public Transition(DataDefinition dataDefinition,
                  @LengthType
                  long length,
                  OperationGroup operationGroup,
                  @PositionType
                  long cutPoint)
           throws NullPointerException,
                  BadLengthException

Creates and initializes a transition, which specifies that the two adjacent segments should be overlapped when they are played and that the overlapped sections should be combined using the specified effect.

Parameters:
dataDefinition - Kind of data represented by the new transition component.
length - Length of the transition component.
cutPoint - The point at which a cut would be inserted if the transition were removed.
operationGroup - An operation group that specifies the effect to be performed during the new transition.
Throws:
NullPointerException - The data definition and/or operation group arguments is/are null.
BadLengthException - Cannot set the length of a segment with a negative value.
Method Detail

setPropertiesFromInterface

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

getCutPoint

@AAFProperty(uuid1=117571843,
             uuid2=262,
             uuid3=0,
             uuid4={6,14,43,52,1,1,1,2},
             definedName="CutPoint",
             typeName="PositionType",
             optional=false,
             uniqueIdentifier=false,
             pid=6146)
public long getCutPoint()
Description copied from interface: Transition

Returns the point at which a cut would be inserted if this transition were removed.

Specified by:
getCutPoint in interface Transition
Returns:
Point at which a cut would be inserted if the transition were removed.

setCutPoint

public void setCutPoint(long cutPoint)
Description copied from interface: Transition

Sets the point at which a cut would be inserted if this transition were removed.

Specified by:
setCutPoint in interface Transition
Parameters:
cutPoint - Point at which a cut would be inserted if the transition were removed.

getOperationGroup

@AAFProperty(uuid1=100729092,
             uuid2=517,
             uuid3=0,
             uuid4={6,14,43,52,1,1,1,2},
             definedName="OperationGroup",
             typeName="StrongReference to OperationGroup",
             optional=false,
             uniqueIdentifier=false,
             pid=6145)
public OperationGroup getOperationGroup()
Description copied from interface: Transition

Returns the operation group defining the operation of this transition, which specifies the effect to be applied during the transition.

Specified by:
getOperationGroup in interface Transition
Returns:
Operation group associated with the transition.
See Also:
OperationGroup.isValidTransitionOperation()

setOperationGroup

public void setOperationGroup(OperationGroup operationGroup)
                       throws NullPointerException
Description copied from interface: Transition

Sets the operation group defining the operation of this transition, which specifies the effect to be applied during the transition.

Specified by:
setOperationGroup in interface Transition
Parameters:
operationGroup - Operation group associated with the transition.
Throws:
NullPointerException - The given operation group is null.
See Also:
OperationGroup.isValidTransitionOperation()

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 Component
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 Component
Returns:
Hash code value for this interchange object.
See Also:
Object.hashCode()

clone

public Transition 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 Object
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 Component
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.