|
Media Authoring with Java API |
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objecttv.amwa.maj.entity.InterchangeObject
tv.amwa.maj.entity.Component
tv.amwa.maj.entity.Segment
tv.amwa.maj.entity.NestedScope
@AAFClass(uuid1=218169601, uuid2=257, uuid3=2816, uuid4={6,14,43,52,2,6,1,1}, definedName="NestedScope", description="The NestedScope class defines a scope and has an ordered set of Segments.") public class NestedScope
Implements a scope and has an ordered set of segments. Typically, nested scopes are used within composition mobs.
THE COMMENTS FOR THIS CLASS ARE INCOMPLETE.
Nested Class Summary | |
---|---|
static class |
NestedScope.SlotsXMLHandler
|
static class |
NestedScope.XMLHandler
|
Nested classes/interfaces inherited from class tv.amwa.maj.entity.Segment |
---|
Segment.SegmentXMLHandler |
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 | |
---|---|
static String |
NESTEDSCOPE_TAG
|
Fields inherited from class tv.amwa.maj.entity.Component |
---|
COMPONENT_ITEM |
Constructor Summary | |
---|---|
NestedScope(List<Segment> slots)
Creates and initializes a nested scope object, which defines a scope and has an ordered set of segments. |
Method Summary | |
---|---|
void |
appendSegment(Segment segment)
Append an input segment to the list of segments of this nested scope. |
void |
appendXMLChildren(Node parent)
Append child elements to the given parent node to serialize the value of an object to an XML fragment. |
NestedScope |
clone()
Creates a cloned copy of this entity. |
int |
countSegments()
Returns the number of segments in the list of segments of this nested scope. |
boolean |
equals(Object o)
Tests to see if the given object is equal to this interchange object. |
Segment |
getSegmentAt(int index)
Returns the segment at the given index through the list of segments in this nested scope. |
List<Segment> |
getSegments()
Returns the list of segments that make up this nested scope. |
int |
hashCode()
Returns a hash code value for this interchange object. |
void |
insertSegmentAt(int index,
Segment segment)
Insert an input segment into the list of segments of this nested scope at the given index. |
void |
prependSegment(Segment segment)
Prepend an input segment to the list of segments of this nested scope. |
void |
removeSegmentAt(int index)
Removes the segment at the given index in the list of segments of this nested scope. |
void |
setPropertiesFromInterface(NestedScope castFrom)
|
Methods inherited from class tv.amwa.maj.entity.Segment |
---|
segmentOffsetToTC, segmentTCToOffset, setPropertiesFromInterface |
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, toString, wait, wait, wait |
Methods inherited from interface tv.amwa.maj.iface.Segment |
---|
segmentOffsetToTC, segmentTCToOffset |
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 |
Field Detail |
---|
public static final String NESTEDSCOPE_TAG
Constructor Detail |
---|
public NestedScope(List<Segment> slots) throws NullPointerException, BadLengthException, IllegalArgumentException
Creates and initializes a nested scope object, which defines a scope and has an ordered set of segments.
slots
- Ordered set of segments; where the last segment provides the value for the nested scope
object itself. The last segment is used to set the data definition and length for this segment.
NullPointerException
- The argument is null.
BadLengthException
- One or more of the segments in the given list has a length that
is different to the length of the last segment.
IllegalArgumentException
- The list of slots is empty and it should contain at least
one element.Method Detail |
---|
public final void setPropertiesFromInterface(NestedScope castFrom)
InterchangeObject.setPropertiesFromInterface(tv.amwa.maj.iface.InterchangeObject)
public void appendSegment(Segment segment) throws NullPointerException, InvalidDataDefinitionException, BadLengthException
NestedScope
Append an input segment to the list of segments of this nested scope. The last segment added will be used as the output value of the nested scope. Typically, the given segment contains operations whose inputs are scope references.
appendSegment
in interface NestedScope
segment
- Input segment to append to the list of segments in this nested scope.
NullPointerException
- The given segment is null
.
InvalidDataDefinitionException
- The given segment will become the value of this nested scope
has an incompatible data definition.
BadLengthException
- The given segment has a different length from that of this nested scope.public int countSegments()
NestedScope
Returns the number of segments in the list of segments of this nested scope.
countSegments
in interface NestedScope
public Segment getSegmentAt(int index) throws IndexOutOfBoundsException
NestedScope
Returns the segment at the given index through the list of segments in this nested scope.
getSegmentAt
in interface NestedScope
index
- 0-based index of the segment to return.
IndexOutOfBoundsException
- Index is outside the range acceptable range
for the current list of segments of this nested scope.@AAFProperty(uuid1=100729092, uuid2=1543, uuid3=0, uuid4={6,14,43,52,1,1,1,2}, definedName="Slots", typeName="StrongReferenceVector of Segment", optional=false, uniqueIdentifier=false, pid=3073) public List<Segment> getSegments()
NestedScope
Returns the list of segments that make up this nested scope.
getSegments
in interface NestedScope
public void insertSegmentAt(int index, Segment segment) throws NullPointerException, IndexOutOfBoundsException, InvalidDataDefinitionException, BadLengthException
NestedScope
Insert an input segment into the list of segments of this nested scope at the given index. Segments already existing at the given and higher indices will be moved up by one index to accommodate.
insertSegmentAt
in interface NestedScope
index
- Index at which the segment is to be inserted into the
list of segments of this nested scope.segment
- Segment to be inserted into the list.
NullPointerException
- The given segment is null
.
IndexOutOfBoundsException
- Index is outside the range
of the indices of the current list.
InvalidDataDefinitionException
- The given segment will become the value of this nested scope
and has an incompatible data definition.
BadLengthException
- The given segment has a different length from that of this nested scope.public void prependSegment(Segment segment) throws NullPointerException, BadLengthException
NestedScope
Prepend an input segment to the list of segments of this nested scope.
prependSegment
in interface NestedScope
segment
- Segment to add at the beginning of the list.
NullPointerException
- The given segment is null
.
BadLengthException
- The given segment has a different length from that of
this nested scope.public void removeSegmentAt(int index) throws IndexOutOfBoundsException, IllegalArgumentException, InvalidDataDefinitionException
NestedScope
Removes the segment at the given index in the list of segments of this nested scope. Segments already existing at indices greater than the given index will be moved down by one index to accommodate.
removeSegmentAt
in interface NestedScope
index
- Index corresponding to segment to be removed from the list of segments
of this nested scope.
IndexOutOfBoundsException
- The given index is outside the acceptable range for the current
list of segments.
InvalidDataDefinitionException
- The removal operation for the given index will result in the
value of the nested scope having an incompatible data definition to the nested scope itself.
IllegalArgumentException
- Removal of a segment will leave an empty list.public boolean equals(Object o)
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.
equals
in interface MAJCommon
equals
in class Component
o
- Object to test for equality with.
Object.equals(Object)
public int hashCode()
MAJCommon
Returns a hash code value for this interchange object.
hashCode
in interface MAJCommon
hashCode
in class Component
Object.hashCode()
public NestedScope clone()
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.
clone
in interface MAJCommon
clone
in class Segment
Object.clone()
public void appendXMLChildren(Node parent)
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.
appendXMLChildren
in interface XMLSerializable
appendXMLChildren
in class Component
parent
- XML parent element to append child nodes to.
|
Media Authoring with Java API |
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |