ParameterDefinitionImpl (Media Authoring with Java API)
Date: 2016-02-05

tv.amwa.maj.model.impl

## Class ParameterDefinitionImpl

- java.lang.Object
- - tv.amwa.maj.model.impl.InterchangeObjectImpl
  - - tv.amwa.maj.model.impl.DefinitionObjectImpl
    - - tv.amwa.maj.model.impl.ParameterDefinitionImpl

- All Implemented Interfaces:
    Serializable, Cloneable, ParameterConstant, MediaEntity, MetadataObject, WeakReferenceTarget, DefinitionObject, DefinitionType, InterchangeObject, ParameterDefinition

      @MediaClass(uuid1=218169601,
                  uuid2=257,
                  uuid3=7424,
                  uuid4={6,14,43,52,2,6,1,1},
                  definedName="ParameterDefinition",
                  description="The ParameterDefinition class defines a kind of Parameter for an effect.",
                  symbol="ParameterDefinition")
      public class ParameterDefinitionImpl
      extends DefinitionObjectImpl
      implements ParameterDefinition, Serializable, ParameterConstant, Cloneable

  Implements the definition of a kind of parameter for an effect.

  See Also:
    `TypeDefinitions.ParameterDefinitionWeakReference`, `TypeDefinitions.ParameterDefinitionStrongReference`, `TypeDefinitions.ParameterDefinitionStrongReferenceSet`, `TypeDefinitions.ParameterDefinitionWeakReferenceSet`, Serialized Form

- - ### Field Summary

    - ### Fields inherited from class tv.amwa.maj.model.impl.InterchangeObjectImpl

      `ObjectClassPropertyID`

    - ### Fields inherited from interface tv.amwa.maj.constant.ParameterConstant

      `AlphaKeyInvertAlpha, Amplitude, CropBottom, CropLeft, CropRight, CropTop, IncomingLevel, Level, LumKeyClip, LumKeyLevel, OutgoingLevel, Pan, PhaseOffset, PinBottomLeftX, PinBottomLeftY, PinBottomRightX, PinBottomRightY, PinTopLeftX, PinTopLeftY, PinTopRightX, PinTopRightY, PositionOffsetX, PositionOffsetY, Rotation, ScaleX, ScaleY, SMPTEBorder, SMPTECheckerboard, SMPTEModulator, SMPTEPosition, SMPTEReplicationH, SMPTEReplicationV, SMPTEReverse, SMPTEShadow, SMPTESoft, SMPTESpotlight, SMPTETumble, SMPTEWipeNumber, SpeedRatio`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ParameterDefinitionImpl()`
    `ParameterDefinitionImpl(AUID identification, String name, TypeDefinition type)` Creates and initializes a new parameter definition, which defines a kind of parameter for an effect.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `ParameterDefinition` | `clone()` Create a cloned copy of this interchange object.
    `static int` | `count()`
    `static ParameterDefinition` | `forAUID(AUID identification)`
    `static ParameterDefinition` | `forIdentification(AUID identification)`
    `static ParameterDefinition` | `forName(String parameterName)`
    `String` | `getParameterDisplayUnits()` Returns the display unit property of this parameter definition, which is a displayable string identifying the units in which the parameter is measured.
    `TypeDefinition` | `getParameterType()` Returns the type definition attached to this parameter definition, which specifies the data type of the parameter.
    `static TypeDefinition` | `initializeParameterType()`
    `static Collection<String>` | `inventory()`
    `static boolean` | `registerParameterDefinition(ParameterDefinition parameterDefinition)`
    `static int` | `registerParametersFromClass(Class<?> classWithParameters)`
    `void` | `setParameterDisplayUnits(String displayUnits)` Sets the display units of this parameter definition, which is a displayable string identifying the units in which the parameter is measured.
    `void` | `setParameterType(TypeDefinition parameterType)`

    - ### Methods inherited from class tv.amwa.maj.model.impl.DefinitionObjectImpl

      `getAUID, getDefinitionObjectIdentificationString, getDescription, getLocalizedUID, getName, getWeakTargetReference, initializeDefinitionObjectIdentification, initializeDefinitionObjectName, setAUID, setDefinitionObjectIdentificationString, setDescription, setLocalizedUID, setName`

    - ### Methods inherited from class tv.amwa.maj.model.impl.InterchangeObjectImpl

      `addApplicationPlugin, appendXMLChildren, clearApplicationPlugins, containsApplicationPlugin, containsApplicationPlugin, countApplicationPlugins, deepEquals, disableGenerationTracking, enableGenerationTracking, equals, getApplicationPlugins, getComment, getGeneration, getLinkedGenerationID, getLinkedGenerationIDString, getObjectClass, getPersistentID, getPersistentIndex, hashCode, isGenerationTracked, removeApplicationPlugin, removeApplicationPlugin, setLinkedGenerationID, setLinkedGenerationIDString, setObjectClass, setPersistentID, setPersistentIndex, toString`

    - ### Methods inherited from class java.lang.Object

      `getClass, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface tv.amwa.maj.model.DefinitionObject

      `getAUID, getDescription, getName, setDescription, setName`

    - ### Methods inherited from interface tv.amwa.maj.model.InterchangeObject

      `addApplicationPlugin, clearApplicationPlugins, containsApplicationPlugin, containsApplicationPlugin, countApplicationPlugins, deepEquals, disableGenerationTracking, enableGenerationTracking, equals, getApplicationPlugins, getGeneration, getLinkedGenerationID, getObjectClass, isGenerationTracked, removeApplicationPlugin, removeApplicationPlugin, setLinkedGenerationID, setObjectClass, toString`

    - ### Methods inherited from interface tv.amwa.maj.industry.MediaEntity

      `getPersistentID, setPersistentIndex`

    - ### Methods inherited from interface tv.amwa.maj.industry.WeakReferenceTarget

      `getWeakTargetReference`

- - ### Constructor Detail

    - #### ParameterDefinitionImpl

          public ParameterDefinitionImpl()

    - #### ParameterDefinitionImpl

          public ParameterDefinitionImpl(AUID identification,
                                         @AAFString
                                         String name,
                                         TypeDefinition type)
                                  throws NullPointerException

      Creates and initializes a new parameter definition, which defines a kind of parameter for an effect.

      Parameters:
        `identification` - Uniquely identifies the parameter definition.
        `name` - Display name of the parameter definition.
        `type` - Data type of the parameter.
      Throws:
        `NullPointerException` - One or more of the arguments is `null` and they are all required properties in this implementation.

  - ### Method Detail

    - #### registerParametersFromClass

          public static final int registerParametersFromClass(Class<?> classWithParameters)
                                                       throws NullPointerException

      Throws:
        `NullPointerException`

    - #### registerParameterDefinition

          public static final boolean registerParameterDefinition(ParameterDefinition parameterDefinition)
                                                           throws NullPointerException

      Throws:
        `NullPointerException`

    - #### forName

          public static final ParameterDefinition forName(String parameterName)
                                                   throws NullPointerException

      Throws:
        `NullPointerException`

    - #### forIdentification

          public static final ParameterDefinition forIdentification(AUID identification)
                                                             throws NullPointerException

      Throws:
        `NullPointerException`

    - #### forAUID

          public static final ParameterDefinition forAUID(AUID identification)
                                                   throws NullPointerException

      Throws:
        `NullPointerException`

    - #### inventory

          public static final Collection<String> inventory()

    - #### count

          public static final int count()

    - #### getParameterDisplayUnits

          @MediaProperty(uuid1=87033099,
                         uuid2=256,
                         uuid3=0,
                         uuid4={6,14,43,52,1,1,1,2},
                         definedName="ParameterDisplayUnits",
                         aliases="DisplayUnits",
                         typeName="UTF16String",
                         optional=true,
                         uniqueIdentifier=false,
                         pid=7939,
                         symbol="ParameterDisplayUnits")
          public String getParameterDisplayUnits()
                                                                                                                                                                                                                                                                                                                                                                                                                                                     throws PropertyNotPresentException

      Description copied from interface: `ParameterDefinition`

      Returns the display unit property of this parameter definition, which is a displayable string identifying the units in which the parameter is measured. For example: "% of picture width". This property is optional.

      Specified by:
        `getParameterDisplayUnits` in interface `ParameterDefinition`
      Returns:
        Display unit property of the parameter definition.
      Throws:
        `PropertyNotPresentException` - The optional display units property is not present in this parameter definition.

    - #### setParameterDisplayUnits

          @MediaPropertySetter(value="ParameterDisplayUnits")
          public void setParameterDisplayUnits(String displayUnits)

      Description copied from interface: `ParameterDefinition`

      Sets the display units of this parameter definition, which is a displayable string identifying the units in which the parameter is measured. For example: "% of picture width". Set this optional property to `null` to omit it.

      Specified by:
        `setParameterDisplayUnits` in interface `ParameterDefinition`
      Parameters:
        `displayUnits` - Display units of this parameter definition.

    - #### getParameterType

          @MediaProperty(uuid1=100729092,
                         uuid2=262,
                         uuid3=0,
                         uuid4={6,14,43,52,1,1,1,2},
                         definedName="ParameterType",
                         aliases={"Type","ParameterDefinitionType"},
                         typeName="TypeDefinitionWeakReference",
                         optional=false,
                         uniqueIdentifier=false,
                         pid=7937,
                         symbol="ParameterType")
          public TypeDefinition getParameterType()

      Description copied from interface: `ParameterDefinition`

      Returns the type definition attached to this parameter definition, which specifies the data type of the parameter.

      Specified by:
        `getParameterType` in interface `ParameterDefinition`
      Returns:
        Type definition attached to this parameter definition.

    - #### setParameterType

          @MediaPropertySetter(value="ParameterType")
          public void setParameterType(TypeDefinition parameterType)
                                                                            throws NullPointerException

      Throws:
        `NullPointerException`

    - #### initializeParameterType

          public static final TypeDefinition initializeParameterType()

    - #### clone

          public ParameterDefinition clone()

      Description copied from interface: `InterchangeObject`

      Create a cloned copy of this interchange object.

      Specified by:
        `clone` in interface `MediaEntity`
      Specified by:
        `clone` in interface `DefinitionObject`
      Specified by:
        `clone` in interface `InterchangeObject`
      Specified by:
        `clone` in interface `ParameterDefinition`
      Overrides:
        `clone` in class `DefinitionObjectImpl`
      Returns:
        Cloned copy of this interchange object.

(c)2007-2016 Richard Cartwright, all rights reserved. Licensed under Apache 2 license and subject to the AMWA IPR policy.