@MediaClass(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.", symbol="NestedScope") public class NestedScopeImpl extends SegmentImpl implements NestedScope, Serializable, Cloneable
Implements a scope and has an ordered set of segments. Typically, nested scopes are used within composition packages.
ObjectClassPropertyID| Constructor and Description |
|---|
NestedScopeImpl() |
NestedScopeImpl(List<Segment> tracks)
Creates and initializes a nested scope object, which defines a scope and has an ordered
set of segments.
|
| Modifier and Type | Method and Description |
|---|---|
void |
appendSegment(Segment segment)
Append an input segment to the list of segments of this nested scope.
|
void |
clearSegments() |
NestedScope |
clone()
Create a cloned copy of this interchange object.
|
int |
countSegments()
Returns the number of segments in the list of segments of this nested scope.
|
List<Segment> |
getNestedScopeTracks()
Returns the list of segments that make up this
nested scope.
|
Segment |
getSegmentAt(int index)
Returns the segment at the given index through the list of segments in this nested
scope.
|
static List<Segment> |
initializeNestedScopeTracks() |
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.
|
generateSequence, getCutPoint, getKeyOffset, getPackLayerKeyIndicator, getSegmentBlob, getTrackBlob, getTrackKeyRenderSequence, getTrackName, getTrackRenderSequence, segmentOffsetToTC, segmentTCToOffset, setCutPoint, setKeyOffset, setPackLayerKeyIndicator, setSegmentBlob, setTrackBlob, setTrackKeyRenderSequence, setTrackName, setTrackRenderSequenceappendComponentAttribute, appendComponentAttribute, appendComponentKLVData, appendComponentUserComment, appendComponentUserComment, clearComponentAttributes, clearComponentKLVData, clearComponentUserComments, countComponentAttributes, countComponentKLVData, countComponentUserComments, getComment, getComponentAttributes, getComponentDataDefinition, getComponentKLVData, getComponentLength, getComponentUserComments, getEditName, getJupiterClipOffset, getJupiterID, getLengthPresent, initializeComponentDataDefinition, prependComponentAttribute, prependComponentKLVData, prependComponentUserComment, removeComponentAttribute, removeComponentKLVData, removeComponentUserComment, setComponentDataDefinition, setComponentLength, setComponentLengthFromStream, setEditName, setJupiterClipOffset, setJupiterID, setLengthPresentaddApplicationPlugin, appendXMLChildren, clearApplicationPlugins, containsApplicationPlugin, containsApplicationPlugin, countApplicationPlugins, deepEquals, disableGenerationTracking, enableGenerationTracking, equals, getApplicationPlugins, getGeneration, getLinkedGenerationID, getLinkedGenerationIDString, getObjectClass, getPersistentID, getPersistentIndex, hashCode, isGenerationTracked, removeApplicationPlugin, removeApplicationPlugin, setLinkedGenerationID, setLinkedGenerationIDString, setObjectClass, setPersistentID, setPersistentIndex, toStringgenerateSequence, segmentOffsetToTC, segmentTCToOffsetappendComponentAttribute, appendComponentAttribute, appendComponentKLVData, appendComponentUserComment, appendComponentUserComment, clearComponentAttributes, clearComponentKLVData, clearComponentUserComments, countComponentAttributes, countComponentKLVData, countComponentUserComments, getComponentAttributes, getComponentDataDefinition, getComponentKLVData, getComponentLength, getComponentUserComments, getLengthPresent, removeComponentAttribute, removeComponentKLVData, removeComponentUserComment, setComponentDataDefinition, setComponentLength, setLengthPresentaddApplicationPlugin, clearApplicationPlugins, containsApplicationPlugin, containsApplicationPlugin, countApplicationPlugins, deepEquals, disableGenerationTracking, enableGenerationTracking, equals, getApplicationPlugins, getGeneration, getLinkedGenerationID, getObjectClass, isGenerationTracked, removeApplicationPlugin, removeApplicationPlugin, setLinkedGenerationID, setObjectClass, toStringgetPersistentID, setPersistentIndexpublic NestedScopeImpl()
public NestedScopeImpl(List<Segment> tracks) throws NullPointerException, BadLengthException, IllegalArgumentException
Creates and initializes a nested scope object, which defines a scope and has an ordered set of segments.
tracks - 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 tracks is empty and it should contain at least
one element.@MediaListAppend(value="NestedScopeTracks") public void appendSegment(Segment segment) throws NullPointerException, InvalidDataDefinitionException, BadLengthException
NestedScopeAppend 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 NestedScopesegment - 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.@MediaPropertyCount(value="NestedScopeTracks") public int countSegments()
NestedScopeReturns the number of segments in the list of segments of this nested scope.
countSegments in interface NestedScope@MediaPropertyClear(value="NestedScopeTracks") public void clearSegments()
@MediaListGetAt(value="NestedScopeTracks") public Segment getSegmentAt(int index) throws IndexOutOfBoundsException
NestedScopeReturns the segment at the given index through the list of segments in this nested scope.
getSegmentAt in interface NestedScopeindex - 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.@MediaProperty(uuid1=100729092, uuid2=1543, uuid3=0, uuid4={6,14,43,52,1,1,1,2}, definedName="NestedScopeTracks", aliases={"Slots","NestedScopeSlots"}, typeName="SegmentStrongReferenceVector", optional=false, uniqueIdentifier=false, pid=3073, symbol="NestedScopeTracks") public List<Segment> getNestedScopeTracks()
NestedScopeReturns the list of segments that make up this nested scope.
getNestedScopeTracks in interface NestedScope@MediaListInsertAt(value="NestedScopeTracks") public void insertSegmentAt(int index, Segment segment) throws NullPointerException, IndexOutOfBoundsException, InvalidDataDefinitionException, BadLengthException
NestedScopeInsert 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 NestedScopeindex - 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.@MediaListPrepend(value="NestedScopeTracks") public void prependSegment(Segment segment) throws NullPointerException, BadLengthException
NestedScopePrepend an input segment to the list of segments of this nested scope.
prependSegment in interface NestedScopesegment - 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.@MediaListRemoveAt(value="NestedScopeTracks") public void removeSegmentAt(int index) throws IndexOutOfBoundsException, IllegalArgumentException, InvalidDataDefinitionException
NestedScopeRemoves 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 NestedScopeindex - 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 NestedScope clone()
InterchangeObjectCreate a cloned copy of this interchange object.
clone in interface MediaEntityclone in interface Componentclone in interface InterchangeObjectclone in interface NestedScopeclone in interface Segmentclone in class SegmentImpl(c)2007-2016 Richard Cartwright, all rights reserved. Licensed under Apache 2 license and subject to the AMWA IPR policy.