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

tv.amwa.maj.enumeration

## Enum TypeCategory

- java.lang.Object
- - java.lang.Enum<TypeCategory>
  - - tv.amwa.maj.enumeration.TypeCategory

- All Implemented Interfaces:
    Serializable, Comparable<TypeCategory>, MediaEnumerationValue

      public enum TypeCategory
      extends Enum<TypeCategory>
      implements MediaEnumerationValue

  Specifies a categorisation of an AAF data type. The enumeration can be used to define the type of a property value.

  The ordinal value used to represent a type category can be converted into an element of this enumeration type using the `fromOrdinal(int)` method.

  Original C name: `eTypeCategory_e`

  See Also:
    `TypeDefinition`, `PropertyValue`

- - ### Enum Constant Summary

    Enum Constants
    Enum Constant and Description
    `Character` Any character type.
    `Encrypted` Type can be determined at runtime but bits are encrypted.
    `Enum` Enumerated type.
    `ExtEnum` Extendible enumerated type.
    `FixedArray` Fixed-size array.
    `Indirect` Type must be determined at runtime.
    `Int` Any integral type.
    `Opaque` Type can be determined at runtime.
    `Record` A structured type.
    `Rename` Renamed type.
    `Set` Set of strong object references or set of weak object references.
    `Stream` Potentially huge amount of data.
    `String` Null-terminated variably-sized array of characters.
    `StrongObjRef` Strong object reference.
    `Unknown` Data type of the value is unknown.
    `VariableArray` Variably-sized array.
    `WeakObjRef` Weak object reference.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static TypeCategory` | `fromOrdinal(int categoryIdentifier)` Returns the enumeration element representing the type category given by the specified ordinal value.
    `String` | `symbol()` Provides a name for the enumeration value that can be used in XML serialisation.
    `long` | `value()` Returns the unique integer value associated with an enumeration value, either according to the AAF specification and/or the current AAF meta dictionary.
    `static TypeCategory` | `valueOf(String name)` Returns the enum constant of this type with the specified name.
    `static TypeCategory[]` | `values()` Returns an array containing the constants of this enum type, in the order they are declared.

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

      `compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf`

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

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

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

      `name`

- - ### Enum Constant Detail

    - #### Unknown

          public static final TypeCategory Unknown

      Data type of the value is unknown. This situation can only occur in damaged files.

    - #### Int

          public static final TypeCategory Int

      Any integral type.

      See Also:
        `TypeDefinitionInteger`

    - #### Character

          public static final TypeCategory Character

      Any character type.

      See Also:
        `TypeDefinitionCharacter`

    - #### StrongObjRef

          public static final TypeCategory StrongObjRef

      Strong object reference.

      See Also:
        `TypeDefinitionStrongObjectReference`

    - #### WeakObjRef

          public static final TypeCategory WeakObjRef

      Weak object reference.

      See Also:
        `TypeDefinitionWeakObjectReference`

    - #### Rename

          public static final TypeCategory Rename

      Renamed type.

      See Also:
        `TypeDefinitionRename`

    - #### Enum

          public static final TypeCategory Enum

      Enumerated type.

      See Also:
        `TypeDefinitionEnumeration`

    - #### FixedArray

          public static final TypeCategory FixedArray

      Fixed-size array.

      See Also:
        `TypeDefinitionFixedArray`

    - #### VariableArray

          public static final TypeCategory VariableArray

      Variably-sized array.

      See Also:
        `TypeDefinitionVariableArray`

    - #### Set

          public static final TypeCategory Set

      Set of strong object references or set of weak object references.

      See Also:
        `TypeDefinitionSet`

    - #### Record

          public static final TypeCategory Record

      A structured type.

      See Also:
        `TypeDefinitionRecord`

    - #### Stream

          public static final TypeCategory Stream

      Potentially huge amount of data.

      See Also:
        `TypeDefinitionStream`

    - #### String

          public static final TypeCategory String

      Null-terminated variably-sized array of characters.

      See Also:
        `TypeDefinitionString`

    - #### ExtEnum

          public static final TypeCategory ExtEnum

      Extendible enumerated type.

      See Also:
        `TypeDefinitionExtendibleEnumeration`

    - #### Indirect

          public static final TypeCategory Indirect

      Type must be determined at runtime.

      See Also:
        `TypeDefinitionIndirect`

    - #### Opaque

          public static final TypeCategory Opaque

      Type can be determined at runtime.

      See Also:
        `TypeDefinitionOpaque`

    - #### Encrypted

          public static final TypeCategory Encrypted

      Type can be determined at runtime but bits are encrypted.

  - ### Method Detail

    - #### values

          public static TypeCategory[] values()

      Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:

          for (TypeCategory c : TypeCategory.values())
              System.out.println(c);

      Returns:
        an array containing the constants of this enum type, in the order they are declared

    - #### valueOf

          public static TypeCategory valueOf(String name)

      Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
      Parameters:
        `name` - the name of the enum constant to be returned.
      Returns:
        the enum constant with the specified name
      Throws:
        `IllegalArgumentException` - if this enum type has no constant with the specified name
        `NullPointerException` - if the argument is null

    - #### value

          @Int64
          public long value()

      Description copied from interface: `MediaEnumerationValue`

      Returns the unique integer value associated with an enumeration value, either according to the AAF specification and/or the current AAF meta dictionary.

      Specified by:
        `value` in interface `MediaEnumerationValue`
      Returns:
        Unique integer value associated with an enumeration constant.

    - #### fromOrdinal

          public static final TypeCategory fromOrdinal(int categoryIdentifier)

      Returns the enumeration element representing the type category given by the specified ordinal value.

      Parameters:
        `categoryIdentifier` - Specified ordinal representing a type category.
      Returns:
        Enumeration element representing the AAF data type category, or `Unknown` if the value is not recognised.

    - #### symbol

          public String symbol()

      Description copied from interface: `MediaEnumerationValue`

      Provides a name for the enumeration value that can be used in XML serialisation. The name is unique within the namespace of the owning type.

      As an example, the `ChannelStatusModeType` value `ChannelStatusModeType.Fixed` value has the name "`Fixed`" and symbol "`ChannelStatusMode_Fixed`".

      Specified by:
        `symbol` in interface `MediaEnumerationValue`
      Returns:
        Symbol name for this enumeration value.

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