Media Authoring
with Java API

tv.amwa.maj.iface
Interface DescriptiveMarker

All Superinterfaces:
CommentMarker, Component, Event, InterchangeObject, Segment
All Known Implementing Classes:
DescriptiveMarker

public interface DescriptiveMarker
extends CommentMarker

Specifies descriptive metadata associated with a point in time and the mob slots that the description refers to. A descriptive marker may contain a descriptive framework that specifies the metadata.

If a descriptive marker refers to a static mob slot, the extent of the description is for the entire mob.

Author:
Richard Cartwright
See Also:
makeDescriptiveMarker(), DescriptiveFramework, DescriptiveClip

Nested Class Summary
static class DescriptiveMarker.AllSlotsDescribed
          Contrived inner class that represents the set of all positive integers and zero.
 
Field Summary
static Set<Integer> AllSlotsDescribed
          Default value for the described slots parameter.
static Set<Integer> NoSlotsDescribed
          No slots are described by the marker.
 
Method Summary
 Set<Integer> getDescribedSlotIDs()
          Returns the set of described slot ids that are referenced by this descriptive marker.
 int getDescribedSlotIDsSize()
          Returns the number of slot ids referred to by this descriptive marker.
 DescriptiveFramework getDescriptiveFramework()
          Returns the descriptive framework that specifies the metadata for this descriptive marker.
 void setDescribedSlotIDs(Set<Integer> describedSlotIds)
          Specifies the slot ids in the mob to which this descriptive marker refers.
 void setDescriptiveFramework(DescriptiveFramework descriptiveFramework)
          Sets the descriptive framework that specifies the metadata for this descriptive marker.
 
Methods inherited from interface tv.amwa.maj.iface.CommentMarker
getAnnotation, setAnnotation
 
Methods inherited from interface tv.amwa.maj.iface.Event
getComment, getPosition, setComment, setPosition
 
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
 

Field Detail

AllSlotsDescribed

static final Set<Integer> AllSlotsDescribed

Default value for the described slots parameter. This value is a set that contains all slot indexes from 0 to Integer.MAX_VALUE.


NoSlotsDescribed

static final Set<Integer> NoSlotsDescribed

No slots are described by the marker.

Method Detail

setDescribedSlotIDs

void setDescribedSlotIDs(@SlotID
                         Set<Integer> describedSlotIds)
                         throws IllegalArgumentException

Specifies the slot ids in the mob to which this descriptive marker refers. Set this optional property to null to omit it, which indicates that all slots are described. Set to NoSlotsDescribed to indicate that the marker does not refer to any slots.

Parameters:
describedSlotIds - Slot id for the slots in the associated mob that this descriptive marker describes.
Throws:
IllegalArgumentException - One or more of the slot ids in the given set is negative.
See Also:
AllSlotsDescribed, MobSlot

getDescribedSlotIDs

@SlotID
Set<Integer> getDescribedSlotIDs()
                                 throws PropertyNotPresentException

Returns the set of described slot ids that are referenced by this descriptive marker. If the value returned is equal to AllSlotsDescribed, this descriptive marker describes all slots in the associated mob.

Returns:
Slot ids in this mob that this descriptive marker describes.
Throws:
PropertyNotPresentException - The optional described slots property is not present in this descriptive marker.

getDescribedSlotIDsSize

@UInt32
int getDescribedSlotIDsSize()
                            throws PropertyNotPresentException

Returns the number of slot ids referred to by this descriptive marker.Note that the default value is AllSlotsDescribed, which has Integer.MAX_VALUE slot ids. Care should be taken not to end up iterating over all of these entries!

Returns:
Number of slot ids stored.
Throws:
PropertyNotPresentException - The optional described slots property is not present in this descriptive marker.

setDescriptiveFramework

void setDescriptiveFramework(DescriptiveFramework descriptiveFramework)

Sets the descriptive framework that specifies the metadata for this descriptive marker. Set this optional property to null to omit it.

Parameters:
descriptiveFramework - Specifies the descriptive framework.

getDescriptiveFramework

DescriptiveFramework getDescriptiveFramework()
                                             throws PropertyNotPresentException

Returns the descriptive framework that specifies the metadata for this descriptive marker.

Returns:
The associated descriptive framework.
Throws:
PropertyNotPresentException - The optional descriptive framework property is not present in this descriptive marker.

Media Authoring
with Java API

(c) 2007-2008 Richard Cartwright, all rights reserved. Subject to the terms of the AAF SDK Public Source License.