Media Authoring
with Java API

tv.amwa.maj.entity
Class EventMobSlot

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

@AAFClass(uuid1=218169601,
          uuid2=257,
          uuid3=14592,
          uuid4={6,14,43,52,2,6,1,1},
          definedName="EventMobSlot",
          description="The EventMobSlot class has a Sequence of Events.")
public class EventMobSlot
extends MobSlot
implements EventMobSlot, Serializable, Cloneable, MAJCommon

Implements a container for a sequence of events.

THE COMMENTS FOR THIS CLASS ARE INCOMPLETE.

Author:
Richard Cartwright
See Also:
Serialized Form

Nested Class Summary
static class EventMobSlot.XMLHandler
           
 
Nested classes/interfaces inherited from class tv.amwa.maj.entity.MobSlot
MobSlot.MobSlotSegmentXMLHandler
 
Nested classes/interfaces inherited from class tv.amwa.maj.entity.InterchangeObject
InterchangeObject.InterchangeObjectXMLHandler
 
Field Summary
static String EVENTMOBSLOT_TAG
           
static String EVENTSLOTORIGIN_TAG
           
 
Fields inherited from class tv.amwa.maj.entity.MobSlot
MOBSLOT_ITEM
 
Constructor Summary
EventMobSlot(int slotId, Segment segment, Rational editRate)
          Creates and initializes a new event mob slot, which holds a sequence of events.
 
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.
 EventMobSlot 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.
 Rational getEditRate()
          Returns the edit rate for this mob slot, which specifies the units in which the events specify their starting time and duration
 long getEventSlotOrigin()
          Gets the event slot origin of this event mob slot, which specifies the point, in edit units, in a slot from which relative times are measured.
 int hashCode()
          Returns a hash code value for this interchange object.
 void setEditRate(Rational editRate)
          Sets the edit rate for this mob slot, which specifies the units in which the events specify their starting time and duration
 void setEventSlotOrigin(Long eventSlotOrigin)
          Sets the event slot origin of this event mob slot, which specifies the point, in edit units, in a slot from which relative times are measured.
 void setPropertiesFromInterface(EventMobSlot castFrom)
           
 void setSegment(Segment segment)
          This method applies the constraints required for a segment that forms part of an event mob slot.
 
Methods inherited from class tv.amwa.maj.entity.MobSlot
getDataDefinition, getId, getName, getPhysicalNumber, getSegment, getSlotID, setId, setName, setPhysicalNumber, setPropertiesFromInterface, setSlotID
 
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.MobSlot
getDataDefinition, getName, getPhysicalNumber, getSegment, getSlotID, setName, setPhysicalNumber, setSlotID
 
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

EVENTMOBSLOT_TAG

public static final String EVENTMOBSLOT_TAG
See Also:
Constant Field Values

EVENTSLOTORIGIN_TAG

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

EventMobSlot

public EventMobSlot(@UInt32
                    int slotId,
                    Segment segment,
                    Rational editRate)
             throws NullPointerException,
                    IllegalArgumentException

Creates and initializes a new event mob slot, which holds a sequence of events.

Parameters:
slotId - Integer that is used to reference the new mob slot.
segment - Value of the new mob slot.
editRate - Units in which the events specify their starting time and duration.
Throws:
NullPointerException - The segment or edit rate values are null.
IllegalArgumentException - Cannot set the slot id for an event mob slot to a negative value.
Method Detail

setPropertiesFromInterface

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

getEditRate

@AAFProperty(uuid1=87032834,
             uuid2=0,
             uuid3=0,
             uuid4={6,14,43,52,1,1,1,2},
             definedName="EditRate",
             typeName="Rational",
             optional=false,
             uniqueIdentifier=false,
             pid=18689)
public Rational getEditRate()
Description copied from interface: EventMobSlot

Returns the edit rate for this mob slot, which specifies the units in which the events specify their starting time and duration

Specified by:
getEditRate in interface EventMobSlot
Returns:
Edit rate for this mob slot.

setEditRate

public void setEditRate(Rational editRate)
                 throws NullPointerException
Description copied from interface: EventMobSlot

Sets the edit rate for this mob slot, which specifies the units in which the events specify their starting time and duration

Specified by:
setEditRate in interface EventMobSlot
Parameters:
editRate - Edit rate for this mob slot.
Throws:
NullPointerException - The given edit rate is null

getEventSlotOrigin

@AAFProperty(uuid1=117571843,
             uuid2=267,
             uuid3=0,
             uuid4={6,14,43,52,1,1,1,5},
             definedName="EventSlotOrigin",
             typeName="PositionType",
             optional=true,
             uniqueIdentifier=false,
             pid=18690)
public long getEventSlotOrigin()
                        throws PropertyNotPresentException
Description copied from interface: EventMobSlot

Gets the event slot origin of this event mob slot, which specifies the point, in edit units, in a slot from which relative times are measured. This is an optional property.

Specified by:
getEventSlotOrigin in interface EventMobSlot
Returns:
Event slot origin of this event mob slot.
Throws:
PropertyNotPresentException - The optional event slot origin property is not present in this event mob slot.

setEventSlotOrigin

public void setEventSlotOrigin(Long eventSlotOrigin)
Description copied from interface: EventMobSlot

Sets the event slot origin of this event mob slot, which specifies the point, in edit units, in a slot from which relative times are measured. Set this optional property to null to omit it.

Specified by:
setEventSlotOrigin in interface EventMobSlot
Parameters:
eventSlotOrigin - Event slot origin of this event mob slot.

setSegment

public void setSegment(Segment segment)
                throws IllegalArgumentException

This method applies the constraints required for a segment that forms part of an event mob slot. These are:

Specified by:
setSegment in interface MobSlot
Overrides:
setSegment in class MobSlot
Parameters:
segment - Segment representing the value for this mob slot.
Throws:
IllegalArgumentException
See Also:
MobSlot.setSegment(tv.amwa.maj.iface.Segment)

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

clone

public EventMobSlot 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 MobSlot
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 MobSlot
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.