Media Authoring
with Java API

tv.amwa.maj.entity
Class PluginDefinition

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

@AAFClass(uuid1=218169601,
          uuid2=257,
          uuid3=7680,
          uuid4={6,14,43,52,2,6,1,1},
          definedName="PluginDefinition",
          description="The PluginDefinition class identifies code objects that provide an implementation for a DefinitionObject.")
public class PluginDefinition
extends DefinitionObject
implements PluginDefinition, Serializable, Cloneable, MAJCommon

Implements the definition of code objects that provide an implementation for a definition, such as a codec definition, or for a meta definition, such as a class definition.

THE COMMENTS FOR THIS CLASS ARE INCOMPLETE.

Author:
Richard Cartwright
See Also:
Serialized Form

Nested Class Summary
static class PluginDefinition.LocatorsXMLHandler
           
static class PluginDefinition.ManufacturerInfoXMLHandler
           
static class PluginDefinition.XMLHandler
           
 
Nested classes/interfaces inherited from class tv.amwa.maj.entity.DefinitionObject
DefinitionObject.DefinitionObjectXMLHandler
 
Nested classes/interfaces inherited from class tv.amwa.maj.entity.InterchangeObject
InterchangeObject.InterchangeObjectXMLHandler
 
Field Summary
 
Fields inherited from interface tv.amwa.maj.iface.PluginDefinition
ACCELERATOR_DEFAULT, AUTHENTICATION_DEFAULT, SOFTWAREONLY_DEFAULT
 
Constructor Summary
PluginDefinition(AUID identification, String name, AUID pluginCategory, VersionType versionNumber, AUID definitionObject)
          Creates and initializes a plugin definition, which is used to identify code objects that provide an implementation for a definition object such as codec definition, or for a meta definition such as a class definition.
 
Method Summary
 void appendLocator(Locator locator)
          Append a locator to the list of plugin locators of this plugin definition, which specify an ordered list of locators that identify locations that provide access to the plugin implementation.
 void appendXMLChildren(Node parent)
          Append child elements to the given parent node to serialize the value of an object to an XML fragment.
 PluginDefinition clone()
          Creates a cloned copy of this entity.
 int countLocators()
          Returns the number of locators in the list of plugin locators of this plugin definition, which specify an ordered list of locators that identify locations that provide access to the plugin implementation.
 AUID getCategoryClass()
          Returns the plugin category of this plugin definition, which specifies the kind of the defined plugin.
 AUID getDefinitionObjectID()
          Returns the definition object handled by the plugin defined by this plugin definition.
 AUID getEngine()
          Returns the software engine identifier that identifies the software subsystem used for essence management and playback for the defined plugin.
 VersionType getEngineMaximumVersion()
           
 VersionType getEngineMinimumVersion()
           
 VersionType[] getEngineVersionRange()
          Returns the minimum and maximum software engine versions of the defined plugin, which specify the minimum and maximum versions of the engine for which this plugin will function.
 AUID getHardwarePlatform()
          Returns the hardware platform identifier of the defined plugin, which identifies the platform by both its hardware platform and operating system.
 boolean getIsAccelerated()
           
 boolean getIsSoftwareOnly()
           
 Locator getLocatorAt(int index)
          Returns the locator at the given index from the list of locators of this plugin descriptor, which specify an ordered list of locators that identify locations that provide access to the plugin implementation.
 List<Locator> getLocators()
          Returns the list of locators of the plugin definition, which specify an ordered list of locators that identify locations that provide access to the plugin implementation.
 AUID getManufacturerID()
          Returns an AUID that identifies the manufacturer of this plugin definition.
 NetworkLocator getManufacturerInfo()
          Returns a network locator pointing to manufacturer information for the plugin definition, which provides a link to a web page containing information about the manufacturer.
 VersionType getPlatformMaximumVersion()
           
 VersionType getPlatformMinimumVersion()
           
 VersionType[] getPlatformVersionRange()
          Returns the minimum and maximum platform version properties of this plugin definition, which specify the minimum and maximum versions of the platform for which the defined plugin will function.
 AUID getPluginAPI()
          Returns the identifier for the manufacturer's interface that is supported by the defined plugin.
 VersionType getPluginAPIMaximumVersion()
           
 VersionType getPluginAPIMinimumVersion()
           
 VersionType[] getPluginAPIVersionRange()
          Returns the minimum and maximum plugin API version properties of the defined plugin, which are the minimum and maximum versions of the plugin API for which this plugin will function.
 String getPluginManufacturerName()
          Returns the plugin manufacturer name for this plugin definition, which specifies a string that can be used to identify the plugin manufacturer to the user.
 VersionType getPluginVersion()
          Returns the version number property of this plugin descriptor, which specifies the plugin version.
 String getPluginVersionString()
          Returns the plugin version string of this plugin definition, which specifies a string that can be used to identify the plugin version to the user.
 boolean getSupportsAuthentication()
           
 void insertLocatorAt(int index, Locator locator)
          Insert a locator at the given index into the list of locators of this plugin definition, which specify an ordered list of locators that identify locations that provide access to the plugin implementation.
 boolean isAccelerated()
          Returns true if the plugin defined by this plugin definition is capable of running with a hardware accelerator; otherwise false.
 boolean isSoftwareOnly()
          Returns true if the plugin defined by this plugin definition is capable of running in a software-only environment; otherwise false.
 void prependLocator(Locator locator)
          Prepend a locator to the list of plugin locators of this plugin definition, which specify an ordered list of locators that identify locations that provide access to the plugin implementation.
 void removeLocatorAt(int index)
          Remove the locator at the given index from the list of locators of the plugin definition, which specify an ordered list of locators that identify locations that provide access to the plugin implementation.
 void setCategoryClass(AUID categoryClass)
          Sets the plugin category of this plugin definition, which specifies the kind of the defined plugin.
 void setDefinitionObjectID(AUID definitionObjectID)
          Sets the definition object handled by the plugin defined by by this plugin definition.
 void setEngine(AUID engine)
          Sets the software engine identifier that identifies the software subsystem used for essence management and playback for the defined plugin.
 void setEngineMaximumVersion(VersionType maxVersion)
          Sets the maximum engine version property of the defined plugin, which specifies the maximum version of the engine for which this plugin will function.
 void setEngineMinimumVersion(VersionType minVersion)
          Sets the minimum engine version property of the defined plugin, which specifies the minimum version of the engine for which this plugin will function.
 void setHardwarePlatform(AUID hardwarePlatform)
          Sets the hardware platform identifier of the defined plugin, which identifies the platform by both the hardware platform and operating system.
 void setIsAccelerated(Boolean isAccelerated)
          Set to true if the plugin defined by this plugin definition is capable of running with a hardware accelerator; otherwise false.
 void setIsSoftwareOnly(Boolean isSoftwareOnly)
          Set to true if the plugin defined by this plugin definition is capable of running in a software-only environment; otherwise false.
 void setManufacturerID(AUID manufacturerId)
          Sets the AUID that identifies the manufacturer of this plugin definition.
 void setManufacturerInfo(NetworkLocator manufacturerInfo)
          Set a network locator pointing to the location of manufacturer information for the plugin definition.
 void setPlatformMaximumVersion(VersionType maxVersion)
          Sets the maximum platform version property of the plugin definition, which specifies the maximum version of the platform for which the defined plugin will function.
 void setPlatformMinimumVersion(VersionType minVersion)
          Sets the minimum platform version property of this plugin definition, which specifies the minimum version of the platform for which the defined plugin will function.
 void setPluginAPI(AUID pluginAPI)
          Sets the identifier for the manufacturer's interface that is supported by the defined plugin.
 void setPluginAPIMaximumVersion(VersionType maxVersion)
          Sets the maximum plugin API version property of the defined plugin, which specifies the maximum version number of the specified plugin interfaces that the plugin supports.
 void setPluginAPIMinimumVersion(VersionType minVersion)
          Sets the minimum plugin API version property of the defined plugin, which specifies the minimum version number of the specified plugin interfaces that the plugin supports.
 void setPluginManufacturerName(String pluginManufacturerName)
          Set the plugin manufacturer name for the plugin definition, which specifies a string that can be used to identify the plugin manufacturer to the user.
 void setPluginVersion(VersionType version)
          Sets the version number property of this plugin descriptor, which specifies the plugin version.
 void setPluginVersionString(String pluginVersionString)
          Sets the plugin version string of this plugin definition, which specifies a string that can be used to identify the plugin version to the user.
 void setPropertiesFromInterface(PluginDefinition castFrom)
           
 void setSupportsAuthentication(Boolean supportsAuthentication)
          Set to true if the plugin defined by this plugin definition is capable of supporting authentication; otherwise false.
 boolean supportsAuthentication()
          Returns true if the plugin defined by this plugin definition is capable of supporting authentication; otherwise false.
 
Methods inherited from class tv.amwa.maj.entity.DefinitionObject
equals, getAUID, getDescription, getLocalizedUID, getName, hashCode, setDescription, setLocalizedUID, setName
 
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.DefinitionObject
getAUID, getDescription, getName, setDescription, setName
 
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
equals, hashCode, toString
 

Constructor Detail

PluginDefinition

public PluginDefinition(AUID identification,
                        @AAFString
                        String name,
                        AUID pluginCategory,
                        VersionType versionNumber,
                        AUID definitionObject)
                 throws NullPointerException

Creates and initializes a plugin definition, which is used to identify code objects that provide an implementation for a definition object such as codec definition, or for a meta definition such as a class definition.

The plugin category for the plugin can be set using one of the categories defined in the toolkit through the static values of interface PluginCategoryType.

Parameters:
identification - Unique identifier for the new plugin definition.
name - Display name for the new plugin definition.
pluginCategory - Kind of plugin.
versionNumber - Version of the plugin.
definitionObject - Unique identifier of the class definition or meta definition that this definition object provides an implementation of.
Throws:
NullPointerException - One or more of the arguments is null and all the arguments are required in this implementation.
Method Detail

setPropertiesFromInterface

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

getCategoryClass

@AAFProperty(uuid1=85985537,
             uuid2=0,
             uuid3=0,
             uuid4={6,14,43,52,1,1,1,2},
             definedName="PluginCategory",
             typeName="PluginCategoryType",
             optional=false,
             uniqueIdentifier=false,
             pid=8707)
public AUID getCategoryClass()
Description copied from interface: PluginDefinition

Returns the plugin category of this plugin definition, which specifies the kind of the defined plugin. The AAF built in categories are:

Specified by:
getCategoryClass in interface PluginDefinition
Returns:
Kind of plugin defined.
See Also:
PluginCategoryType, TypeDefinitionExtendibleEnumeration.PluginCategoryType

setCategoryClass

public void setCategoryClass(AUID categoryClass)
                      throws NullPointerException
Description copied from interface: PluginDefinition

Sets the plugin category of this plugin definition, which specifies the kind of the defined plugin. The AAF built in categories are:

Specified by:
setCategoryClass in interface PluginDefinition
Parameters:
categoryClass - Kind of plugin defined.
Throws:
NullPointerException - The given plugin category is null.
See Also:
PluginCategoryType, TypeDefinitionExtendibleEnumeration.PluginCategoryType

getDefinitionObjectID

@AAFProperty(uuid1=85985551,
             uuid2=0,
             uuid3=0,
             uuid4={6,14,43,52,1,1,1,2},
             definedName="DefinitionObject",
             typeName="AUID",
             optional=true,
             uniqueIdentifier=false,
             pid=8726)
public AUID getDefinitionObjectID()
                           throws PropertyNotPresentException
Description copied from interface: PluginDefinition

Returns the definition object handled by the plugin defined by this plugin definition. This property specifies the AUID of the class definition for the definition or meta definition that it provides an implementation of.

As of AAF version 1.1, this property must be specified. This was an optional property in version 1.0.

Specified by:
getDefinitionObjectID in interface PluginDefinition
Returns:
Definition object of the plugin definition.
Throws:
PropertyNotPresentException - Although the definition object should be specified, this was not a required property in older versions of the AAF specification and is not present for this plugin definition.

setDefinitionObjectID

public void setDefinitionObjectID(AUID definitionObjectID)
                           throws NullPointerException
Description copied from interface: PluginDefinition

Sets the definition object handled by the plugin defined by by this plugin definition. This property specifies the AUID of the class definition for the definition or meta definition that it provides an implementation of.

As of AAF version 1.1, this property must be specified. This was an optional property in version 1.0.

Specified by:
setDefinitionObjectID in interface PluginDefinition
Parameters:
definitionObjectID - Definition object of the plugin definition.
Throws:
NullPointerException - The given definition object identifier is null.
See Also:
PluginDefinition.getCategoryClass()

getEngine

@AAFProperty(uuid1=85985541,
             uuid2=0,
             uuid3=0,
             uuid4={6,14,43,52,1,1,1,2},
             definedName="Engine",
             typeName="AUID",
             optional=true,
             uniqueIdentifier=false,
             pid=8716)
public AUID getEngine()
               throws PropertyNotPresentException
Description copied from interface: PluginDefinition

Returns the software engine identifier that identifies the software subsystem used for essence management and playback for the defined plugin. This is an optional property.

Specified by:
getEngine in interface PluginDefinition
Returns:
Software engine identifier for this plugin definition.
Throws:
PropertyNotPresentException - The optional engine property is not present in this plugin definition.
See Also:
PluginIdentifiers.Engine_None

setEngine

public void setEngine(AUID engine)
Description copied from interface: PluginDefinition

Sets the software engine identifier that identifies the software subsystem used for essence management and playback for the defined plugin. Set this optional property to null to omit it.

Specified by:
setEngine in interface PluginDefinition
Parameters:
engine - Software engine identifier for the plugin definition.
See Also:
PluginIdentifiers.Engine_None

getEngineVersionRange

public VersionType[] getEngineVersionRange()
                                    throws PropertyNotPresentException
Description copied from interface: PluginDefinition

Returns the minimum and maximum software engine versions of the defined plugin, which specify the minimum and maximum versions of the engine for which this plugin will function. The engine version range properties are optional.

The value returned is an array containing two version numbers with the value at index 0 being the minimum version number and the value at index 1 being the maximum.

Specified by:
getEngineVersionRange in interface PluginDefinition
Returns:
Array containing minimum and maximum engine versions for this plugin definition.
Throws:
PropertyNotPresentException - The optional engine version range property is not fully specified in this plugin definition.
See Also:
PluginDefinition.getEngine()

getEngineMinimumVersion

@AAFProperty(uuid1=85985542,
             uuid2=0,
             uuid3=0,
             uuid4={6,14,43,52,1,1,1,2},
             definedName="MinEngineVersion",
             typeName="VersionType",
             optional=true,
             uniqueIdentifier=false,
             pid=8717)
public VersionType getEngineMinimumVersion()
                                    throws PropertyNotPresentException
Throws:
PropertyNotPresentException

setEngineMinimumVersion

public void setEngineMinimumVersion(VersionType minVersion)
Description copied from interface: PluginDefinition

Sets the minimum engine version property of the defined plugin, which specifies the minimum version of the engine for which this plugin will function. Set this optional property to null to omit it.

Specified by:
setEngineMinimumVersion in interface PluginDefinition
Parameters:
minVersion - Minimum engine version for this plugin definition.

getEngineMaximumVersion

@AAFProperty(uuid1=85985543,
             uuid2=0,
             uuid3=0,
             uuid4={6,14,43,52,1,1,1,2},
             definedName="MaxEngineVersion",
             typeName="VersionType",
             optional=true,
             uniqueIdentifier=false,
             pid=8718)
public VersionType getEngineMaximumVersion()
                                    throws PropertyNotPresentException
Throws:
PropertyNotPresentException

setEngineMaximumVersion

public void setEngineMaximumVersion(VersionType maxVersion)
Description copied from interface: PluginDefinition

Sets the maximum engine version property of the defined plugin, which specifies the maximum version of the engine for which this plugin will function. Set this optional property to null to omit it.

Specified by:
setEngineMaximumVersion in interface PluginDefinition
Parameters:
maxVersion - Maximum engine version for the plugin definition.

getHardwarePlatform

@AAFProperty(uuid1=85985538,
             uuid2=0,
             uuid3=0,
             uuid4={6,14,43,52,1,1,1,2},
             definedName="Platform",
             typeName="AUID",
             optional=true,
             uniqueIdentifier=false,
             pid=8713)
public AUID getHardwarePlatform()
                         throws PropertyNotPresentException
Description copied from interface: PluginDefinition

Returns the hardware platform identifier of the defined plugin, which identifies the platform by both its hardware platform and operating system. This is an optional property.

Specified by:
getHardwarePlatform in interface PluginDefinition
Returns:
Hardware platform identifier for this plugin definition.
Throws:
PropertyNotPresentException - The optional hardware platform property is not present in this plugin definition.
See Also:
PluginIdentifiers.Platform_Independent

setHardwarePlatform

public void setHardwarePlatform(AUID hardwarePlatform)
Description copied from interface: PluginDefinition

Sets the hardware platform identifier of the defined plugin, which identifies the platform by both the hardware platform and operating system. Set this optional property to null to omit it.

Specified by:
setHardwarePlatform in interface PluginDefinition
Parameters:
hardwarePlatform - Hardware platform identifier for this plugin definition.
See Also:
PluginIdentifiers.Platform_Independent

getLocators

@AAFProperty(uuid1=85985549,
             uuid2=0,
             uuid3=0,
             uuid4={6,14,43,52,1,1,1,2},
             definedName="Locators",
             typeName="StrongReferenceVector of Locator",
             optional=true,
             uniqueIdentifier=false,
             pid=8724)
public List<Locator> getLocators()
Description copied from interface: PluginDefinition

Returns the list of locators of the plugin definition, which specify an ordered list of locators that identify locations that provide access to the plugin implementation.

Specified by:
getLocators in interface PluginDefinition
Returns:
Shallow copy of the list of the locators for this plugin definition.

getLocatorAt

public Locator getLocatorAt(int index)
                     throws IndexOutOfBoundsException
Description copied from interface: PluginDefinition

Returns the locator at the given index from the list of locators of this plugin descriptor, which specify an ordered list of locators that identify locations that provide access to the plugin implementation.

Specified by:
getLocatorAt in interface PluginDefinition
Parameters:
index - Index of the locator to retrieve from the list of locators.
Returns:
Locator at the given index in the list of locators of the plugin descriptor.
Throws:
IndexOutOfBoundsException - The given index is outside the acceptable range for the current list of locators.

appendLocator

public void appendLocator(Locator locator)
                   throws NullPointerException
Description copied from interface: PluginDefinition

Append a locator to the list of plugin locators of this plugin definition, which specify an ordered list of locators that identify locations that provide access to the plugin implementation. Use this method to add a locator to be scanned last when searching for the plugin's implementation. The locator list is an optional property that will be made present by calling this method if it is currently omitted.

Specified by:
appendLocator in interface PluginDefinition
Parameters:
locator - Locator of the plugin to append to the list of locators of this plugin definition.
Throws:
NullPointerException - The given locator to append is null.

countLocators

public int countLocators()
Description copied from interface: PluginDefinition

Returns the number of locators in the list of plugin locators of this plugin definition, which specify an ordered list of locators that identify locations that provide access to the plugin implementation. The number of locators may be zero if the plugin is in the current file, which is also when this optional property is not present.

Specified by:
countLocators in interface PluginDefinition
Returns:
Number of locators attached to this plugin definition.

prependLocator

public void prependLocator(Locator locator)
                    throws NullPointerException
Description copied from interface: PluginDefinition

Prepend a locator to the list of plugin locators of this plugin definition, which specify an ordered list of locators that identify locations that provide access to the plugin implementation. Use this method to add a locator to be scanned first when searching for the plugin's implementation. The locator list is an optional property that will be made present by calling this method if it is currently omitted.

Specified by:
prependLocator in interface PluginDefinition
Parameters:
locator - Locator to prepend to the list of plugin locators of the plugin definition.
Throws:
NullPointerException - The given locator to prepend is null.

insertLocatorAt

public void insertLocatorAt(int index,
                            Locator locator)
                     throws NullPointerException,
                            IndexOutOfBoundsException
Description copied from interface: PluginDefinition

Insert a locator at the given index into the list of locators of this plugin definition, which specify an ordered list of locators that identify locations that provide access to the plugin implementation. Locators already existing at the named and higher indices will be moved up to the next higher index to accommodate to inserted item. The locator list is an optional property that may be made present by calling this method with an index of 0.

Specified by:
insertLocatorAt in interface PluginDefinition
Parameters:
index - Index where the locator should be inserted.
locator - Locator to insert into the list of plugin locators of this plugin definition.
Throws:
NullPointerException - The given locator to insert is null.
IndexOutOfBoundsException - The given index is outside the acceptable range for the current list of locators.

removeLocatorAt

public void removeLocatorAt(int index)
                     throws IndexOutOfBoundsException
Description copied from interface: PluginDefinition

Remove the locator at the given index from the list of locators of the plugin definition, which specify an ordered list of locators that identify locations that provide access to the plugin implementation.

Specified by:
removeLocatorAt in interface PluginDefinition
Parameters:
index - Index of locator to remove from the list of locators of the plugin definition.
Throws:
IndexOutOfBoundsException - The given index is outside the acceptable range for the current list of locators.

getManufacturerID

@AAFProperty(uuid1=17432833,
             uuid2=768,
             uuid3=0,
             uuid4={6,14,43,52,1,1,1,2},
             definedName="ManufacturerID",
             typeName="AUID",
             optional=true,
             uniqueIdentifier=false,
             pid=8712)
public AUID getManufacturerID()
                       throws PropertyNotPresentException
Description copied from interface: PluginDefinition

Returns an AUID that identifies the manufacturer of this plugin definition. This is an optional property.

Specified by:
getManufacturerID in interface PluginDefinition
Returns:
Manufacturer id for this plugin definition.
Throws:
PropertyNotPresentException - The optional manufacturer id property is not present in this plugin definition.

setManufacturerID

public void setManufacturerID(AUID manufacturerId)
Description copied from interface: PluginDefinition

Sets the AUID that identifies the manufacturer of this plugin definition. Set this optional property to null to omit it.

Specified by:
setManufacturerID in interface PluginDefinition
Parameters:
manufacturerId - Manufacturer id for this plugin definition.

getManufacturerInfo

@AAFProperty(uuid1=100729092,
             uuid2=523,
             uuid3=0,
             uuid4={6,14,43,52,1,1,1,2},
             definedName="ManufacturerInfo",
             typeName="StrongReference to NetworkLocator",
             optional=true,
             uniqueIdentifier=false,
             pid=8711)
public NetworkLocator getManufacturerInfo()
                                   throws PropertyNotPresentException
Description copied from interface: PluginDefinition

Returns a network locator pointing to manufacturer information for the plugin definition, which provides a link to a web page containing information about the manufacturer.

Specified by:
getManufacturerInfo in interface PluginDefinition
Returns:
Link to manufacturer information about the manufacturer of this plugin definition.
Throws:
PropertyNotPresentException - The optional manufacturer information property is not present for this plugin definition.

setManufacturerInfo

public void setManufacturerInfo(NetworkLocator manufacturerInfo)
                         throws NullPointerException
Description copied from interface: PluginDefinition

Set a network locator pointing to the location of manufacturer information for the plugin definition. A successful call to this method will result in any existing manufacturer information being replaced.

Specified by:
setManufacturerInfo in interface PluginDefinition
Parameters:
manufacturerInfo - Network locator for pointing to manufacturer information for the definition.
Throws:
NullPointerException

getPlatformVersionRange

public VersionType[] getPlatformVersionRange()
                                      throws PropertyNotPresentException
Description copied from interface: PluginDefinition

Returns the minimum and maximum platform version properties of this plugin definition, which specify the minimum and maximum versions of the platform for which the defined plugin will function. The platform version range properties are optional.

The value returned is an array containing two version numbers with the value at index 0 being the minimum version number and the value at index 1 being the maximum.

Specified by:
getPlatformVersionRange in interface PluginDefinition
Returns:
Array containing the minimum and maximum platform versions of this plugin definition.
Throws:
PropertyNotPresentException - The optional platform version range is not fully specified in this plugin definition.

getPlatformMinimumVersion

@AAFProperty(uuid1=85985539,
             uuid2=0,
             uuid3=0,
             uuid4={6,14,43,52,1,1,1,2},
             definedName="MinPlatformVersion",
             typeName="VersionType",
             optional=true,
             uniqueIdentifier=false,
             pid=8714)
public VersionType getPlatformMinimumVersion()
                                      throws PropertyNotPresentException
Throws:
PropertyNotPresentException

setPlatformMinimumVersion

public void setPlatformMinimumVersion(VersionType minVersion)
Description copied from interface: PluginDefinition

Sets the minimum platform version property of this plugin definition, which specifies the minimum version of the platform for which the defined plugin will function. Set this optional property to null to omit it.

Specified by:
setPlatformMinimumVersion in interface PluginDefinition
Parameters:
minVersion - Minimum platform version of this plugin definition.

getPlatformMaximumVersion

@AAFProperty(uuid1=85985540,
             uuid2=0,
             uuid3=0,
             uuid4={6,14,43,52,1,1,1,2},
             definedName="MaxPlatformVersion",
             typeName="VersionType",
             optional=true,
             uniqueIdentifier=false,
             pid=8715)
public VersionType getPlatformMaximumVersion()
                                      throws PropertyNotPresentException
Throws:
PropertyNotPresentException

setPlatformMaximumVersion

public void setPlatformMaximumVersion(VersionType maxVersion)
Description copied from interface: PluginDefinition

Sets the maximum platform version property of the plugin definition, which specifies the maximum version of the platform for which the defined plugin will function. Set this optional property to null to omit it.

Specified by:
setPlatformMaximumVersion in interface PluginDefinition
Parameters:
maxVersion - Maximum platform version of this plugin definition.

getPluginAPI

@AAFProperty(uuid1=85985544,
             uuid2=0,
             uuid3=0,
             uuid4={6,14,43,52,1,1,1,2},
             definedName="PluginAPI",
             typeName="AUID",
             optional=true,
             uniqueIdentifier=false,
             pid=8719)
public AUID getPluginAPI()
                  throws PropertyNotPresentException
Description copied from interface: PluginDefinition

Returns the identifier for the manufacturer's interface that is supported by the defined plugin. This is an optional property.

Specified by:
getPluginAPI in interface PluginDefinition
Returns:
Identifier for the plugin interface property of this plugin definition.
Throws:
PropertyNotPresentException - The optional plugin API property is not present in this plugin definition.
See Also:
PluginIdentifiers.PluginAPI_EssenceAccess

setPluginAPI

public void setPluginAPI(AUID pluginAPI)
Description copied from interface: PluginDefinition

Sets the identifier for the manufacturer's interface that is supported by the defined plugin. Set this optional property to null to omit it.

Specified by:
setPluginAPI in interface PluginDefinition
Parameters:
pluginAPI - Identifier for the plugin interface property of this plugin definition.
See Also:
PluginIdentifiers.Engine_None

getPluginAPIVersionRange

public VersionType[] getPluginAPIVersionRange()
                                       throws PropertyNotPresentException
Description copied from interface: PluginDefinition

Returns the minimum and maximum plugin API version properties of the defined plugin, which are the minimum and maximum versions of the plugin API for which this plugin will function. The plugin API version range properties are optional.

The value returned is an array containing two version numbers with the value at index 0 being the minimum version number and the value at index 1 being the maximum.

Specified by:
getPluginAPIVersionRange in interface PluginDefinition
Returns:
Array containing plugin API minimum and maximum version for this plugin definition.
Throws:
PropertyNotPresentException - The optional plugin API version range is not present in this plugin definition.
See Also:
PluginDefinition.getPluginAPI()

getPluginAPIMinimumVersion

@AAFProperty(uuid1=85985545,
             uuid2=0,
             uuid3=0,
             uuid4={6,14,43,52,1,1,1,2},
             definedName="MinPluginAPI",
             typeName="VersionType",
             optional=true,
             uniqueIdentifier=false,
             pid=8720)
public VersionType getPluginAPIMinimumVersion()
                                       throws PropertyNotPresentException
Throws:
PropertyNotPresentException

setPluginAPIMinimumVersion

public void setPluginAPIMinimumVersion(VersionType minVersion)
Description copied from interface: PluginDefinition

Sets the minimum plugin API version property of the defined plugin, which specifies the minimum version number of the specified plugin interfaces that the plugin supports. Set this optional property to null to omit it.

Specified by:
setPluginAPIMinimumVersion in interface PluginDefinition
Parameters:
minVersion - The minimum plugin API version of this plugin definition.

getPluginAPIMaximumVersion

@AAFProperty(uuid1=85985546,
             uuid2=0,
             uuid3=0,
             uuid4={6,14,43,52,1,1,1,2},
             definedName="MaxPluginAPI",
             typeName="VersionType",
             optional=true,
             uniqueIdentifier=false,
             pid=8721)
public VersionType getPluginAPIMaximumVersion()
                                       throws PropertyNotPresentException
Throws:
PropertyNotPresentException

setPluginAPIMaximumVersion

public void setPluginAPIMaximumVersion(VersionType maxVersion)
Description copied from interface: PluginDefinition

Sets the maximum plugin API version property of the defined plugin, which specifies the maximum version number of the specified plugin interfaces that the plugin supports. Set this optional property to null to omit it.

Specified by:
setPluginAPIMaximumVersion in interface PluginDefinition
Parameters:
maxVersion - Maximum plugin API version for this plugin definition.

getPluginManufacturerName

@AAFProperty(uuid1=17432833,
             uuid2=257,
             uuid3=0,
             uuid4={6,14,43,52,1,1,1,2},
             definedName="Manufacturer",
             typeName="String",
             optional=true,
             uniqueIdentifier=false,
             pid=8710)
public String getPluginManufacturerName()
                                 throws PropertyNotPresentException
Description copied from interface: PluginDefinition

Returns the plugin manufacturer name for this plugin definition, which specifies a string that can be used to identify the plugin manufacturer to the user. This is an optional property.

Specified by:
getPluginManufacturerName in interface PluginDefinition
Returns:
Plugin manufacturer name of the plugin definition.
Throws:
PropertyNotPresentException - The optional manufacturer's name is not set for the plugin definition.

setPluginManufacturerName

public void setPluginManufacturerName(String pluginManufacturerName)
Description copied from interface: PluginDefinition

Set the plugin manufacturer name for the plugin definition, which specifies a string that can be used to identify the plugin manufacturer to the user. Set this optional property to null to omit it.

Specified by:
setPluginManufacturerName in interface PluginDefinition
Parameters:
pluginManufacturerName - Plugin manufacturer name for this plugin definition.

getPluginVersion

@AAFProperty(uuid1=50529025,
             uuid2=768,
             uuid3=0,
             uuid4={6,14,43,52,1,1,1,2},
             definedName="VersionNumber",
             typeName="VersionType",
             optional=false,
             uniqueIdentifier=false,
             pid=8708)
public VersionType getPluginVersion()
Description copied from interface: PluginDefinition

Returns the version number property of this plugin descriptor, which specifies the plugin version.

Specified by:
getPluginVersion in interface PluginDefinition
Returns:
Version number of this plugin definition.

setPluginVersion

public void setPluginVersion(VersionType version)
                      throws NullPointerException
Description copied from interface: PluginDefinition

Sets the version number property of this plugin descriptor, which specifies the plugin version.

Specified by:
setPluginVersion in interface PluginDefinition
Throws:
NullPointerException - The given version number is null.

getPluginVersionString

@AAFProperty(uuid1=50529025,
             uuid2=513,
             uuid3=0,
             uuid4={6,14,43,52,1,1,1,2},
             definedName="VersionString",
             typeName="String",
             optional=true,
             uniqueIdentifier=false,
             pid=8709)
public String getPluginVersionString()
                              throws PropertyNotPresentException
Description copied from interface: PluginDefinition

Returns the plugin version string of this plugin definition, which specifies a string that can be used to identify the plugin version to the user.

Specified by:
getPluginVersionString in interface PluginDefinition
Returns:
Plugin version string of this plugin definition.
Throws:
PropertyNotPresentException - The optional version string property is not present in this plugin definition.

setPluginVersionString

public void setPluginVersionString(String pluginVersionString)
Description copied from interface: PluginDefinition

Sets the plugin version string of this plugin definition, which specifies a string that can be used to identify the plugin version to the user. Set this optional property to null to omit it.

Specified by:
setPluginVersionString in interface PluginDefinition
Parameters:
pluginVersionString - Plugin version string of this plugin definition.

isAccelerated

public boolean isAccelerated()
Description copied from interface: PluginDefinition

Returns true if the plugin defined by this plugin definition is capable of running with a hardware accelerator; otherwise false. If the result is true then the plugin may additionally support software decompression.

If this optional property is not present, the default value of false is returned.

Specified by:
isAccelerated in interface PluginDefinition
Returns:
Is the plugin associated with the plugin definition capable of running with hardware acceleration?
See Also:
PluginDefinition.ACCELERATOR_DEFAULT

getIsAccelerated

@AAFProperty(uuid1=85985548,
             uuid2=0,
             uuid3=0,
             uuid4={6,14,43,52,1,1,1,2},
             definedName="Accelerator",
             typeName="Boolean",
             optional=true,
             uniqueIdentifier=false,
             pid=8723)
public boolean getIsAccelerated()

setIsAccelerated

public void setIsAccelerated(Boolean isAccelerated)
Description copied from interface: PluginDefinition

Set to true if the plugin defined by this plugin definition is capable of running with a hardware accelerator; otherwise false. If the result is true then the plugin may additionally support software decompression.

The default value for this optional property is false. To omit this optional property, call this method with null.

Specified by:
setIsAccelerated in interface PluginDefinition
Parameters:
isAccelerated - Is the plugin associated with the plugin definition capable of running with hardware acceleration?
See Also:
PluginDefinition.ACCELERATOR_DEFAULT

isSoftwareOnly

public boolean isSoftwareOnly()
Description copied from interface: PluginDefinition

Returns true if the plugin defined by this plugin definition is capable of running in a software-only environment; otherwise false. A value of true indicates that no additional hardware is required. If the result is true then this plugin may also support hardware acceleration, as long as it also supports a software-only method of processing data.

If this optional property is not present, the default value of false is returned.

Specified by:
isSoftwareOnly in interface PluginDefinition
Returns:
Does the plugin definition represent a plugin that is capable of running in a software-only environment?
See Also:
PluginDefinition.SOFTWAREONLY_DEFAULT

getIsSoftwareOnly

@AAFProperty(uuid1=85985547,
             uuid2=0,
             uuid3=0,
             uuid4={6,14,43,52,1,1,1,2},
             definedName="SoftwareOnly",
             typeName="Boolean",
             optional=true,
             uniqueIdentifier=false,
             pid=8722)
public boolean getIsSoftwareOnly()

setIsSoftwareOnly

public void setIsSoftwareOnly(Boolean isSoftwareOnly)
Description copied from interface: PluginDefinition

Set to true if the plugin defined by this plugin definition is capable of running in a software-only environment; otherwise false. A value of true indicates that no additional hardware is required. If the result is true then this plugin may also support hardware acceleration, as long as it also supports a software-only method of processing data.

The default value of this optional property is false. To omit this optional property, call this method with null.

Specified by:
setIsSoftwareOnly in interface PluginDefinition
Parameters:
isSoftwareOnly - Does the plugin definition represent a plugin that is capable of running in a software-only environment?
See Also:
PluginDefinition.SOFTWAREONLY_DEFAULT

supportsAuthentication

public boolean supportsAuthentication()
Description copied from interface: PluginDefinition

Returns true if the plugin defined by this plugin definition is capable of supporting authentication; otherwise false.

If this optional property is not present, the default value of false is returned.

Specified by:
supportsAuthentication in interface PluginDefinition
Returns:
Is the plugin represented by the plugin definition capable of supporting authentication?
See Also:
PluginDefinition.AUTHENTICATION_DEFAULT

getSupportsAuthentication

@AAFProperty(uuid1=85985550,
             uuid2=0,
             uuid3=0,
             uuid4={6,14,43,52,1,1,1,2},
             definedName="Authentication",
             typeName="Boolean",
             optional=true,
             uniqueIdentifier=false,
             pid=8725)
public boolean getSupportsAuthentication()

setSupportsAuthentication

public void setSupportsAuthentication(Boolean supportsAuthentication)
Description copied from interface: PluginDefinition

Set to true if the plugin defined by this plugin definition is capable of supporting authentication; otherwise false.

The default value for this optional property is false. To omit this optional property, call this method with null.

Specified by:
setSupportsAuthentication in interface PluginDefinition
Parameters:
supportsAuthentication - Is the plugin represented by the plugin definition capable of supporting authentication?
See Also:
PluginDefinition.AUTHENTICATION_DEFAULT

clone

public PluginDefinition 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 DefinitionObject
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 DefinitionObject
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.