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

tv.amwa.maj.extensions.quantel

## Class QFactory

- java.lang.Object
- - tv.amwa.maj.extensions.quantel.QFactory

-     public class QFactory
      extends Object

  Factory for all types and classes of symbolespace `http://www.quantel.com/genQ/extensions`. Contains methods to initialize the MAJ media engine and warehouses with the types of this symbol space.

  Quantel extension metadata

  See Also:
    `TypeDefinitions`, `MediaEngine`, `Warehouse`

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static Class<?>[]` | `CLASSES` List of all the implementing classes defined for this symbol space.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `QFactory()`

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static void` | `initialize()` Initialize all the types of this symbol space and make them available through the MAJ media engine.
    `static <T extends MetadataObject> T` | `make(String className, Object... properties)` Create a new instance of a class defined in this symbol space from its name and initial property values.

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

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### CLASSES

          public static final Class<?>[] CLASSES

      List of all the implementing classes defined for this symbol space.

      See Also:
        `initialize()`

  - ### Constructor Detail

    - #### QFactory

          public QFactory()

  - ### Method Detail

    - #### initialize

          public static final void initialize()

      Initialize all the types of this symbol space and make them available through the MAJ media engine. The media engine and associated APIs can then make, serialize and deserialize values to all supported XML formats, binary formats and persistance providers.

      See Also:
        `MediaEngine.initializeAAF()`, `CLASSES`

    - #### make

          public static final <T extends MetadataObject> T make(String className,
                                                                Object... properties)
                                                         throws NullPointerException,
                                                                IllegalArgumentException

      Create a new instance of a class defined in this symbol space from its name and initial property values.

      Parameters:
        `className` - Name of the class in this symbol space to create.
        `properties` - List of property identifier and value pairs to use to make a value of the required type.
      Returns:
        Newly created value of the named class.
      Throws:
        `NullPointerException` - Cannot create a new instance from a `null` name or `null` property specifications.
        `IllegalArgumentException` - Unable to use the given properties to create a value of the name class or the named class does not exist.
      See Also:
        `Forge.makeByName(String, String, Object...)`

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