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

tv.amwa.maj.meta

## Interface TypeDefinitionWeakObjectReference

- All Superinterfaces:
    MetadataObject, MetaDefinition, TypeDefinition, TypeDefinitionObjectReference, WeakReferenceTarget
  All Known Implementing Classes:
    TypeDefinitionWeakObjectReferenceImpl

      public interface TypeDefinitionWeakObjectReference
      extends TypeDefinitionObjectReference

  Specifies the definition of a property type that defines an object relationship where the target of the weak reference is referenced by the object with the property with the weak object reference type. Only objects that define a unique identification (AUID or PackageID) can be the targets of weak object references. In an AAF file, an object can be the target of one or more than one weak references.

  This property type is known as a weak reference. For example, a reference to a data definition of this type is called a "WeakReference to DataDefinition" in the AAF object specification and may also be represented as "WeakReference<DataDefinition>". Both these styles of type name can be used to return a strong reference type definition from the factory function `Warehouse.lookForType(String)`.

  Note that the target list property of a weak object reference type definition is not exposed through this interface. This property will be maintained automatically by the MAJ API.

  See Also:
    `TypeCategory.WeakObjRef`, `TypeDefinitionWeakObjectReference`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `TypeDefinitionWeakObjectReference` | `clone()` Create a cloned copy of this weak object reference type definition.
    `AUID[]` | `getTargetSet()` Returns the target set of the reference type that provides the path from the root of an AAF file to a string referenced set than can be used to resolve a weak reference of this type.

    - ### Methods inherited from interface tv.amwa.maj.meta.TypeDefinitionObjectReference

      `createValue, getObject, getObjectType, setObject`

    - ### Methods inherited from interface tv.amwa.maj.meta.TypeDefinition

      `createFromBytes, getPropertyValue, getTypeCategory, lengthAsBytes, resolveReferences, setPropertyValue, writeAsBytes, writeAsStructuredStorageBytes`

    - ### Methods inherited from interface tv.amwa.maj.meta.MetaDefinition

      `appendMetadictXML, deepEquals, equals, getAAFNamesInUse, getAliases, getAUID, getDescription, getName, getNamespace, getPrefix, getSymbol, hashCode, setAAFNamesInUse, setDescription, setName, setNamespace, setPrefix, setSymbol, toString`

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

      `getWeakTargetReference`

- - ### Method Detail

    - #### clone

          TypeDefinitionWeakObjectReference clone()

      Create a cloned copy of this weak object reference type definition.

      Specified by:
        `clone` in interface `MetaDefinition`
      Specified by:
        `clone` in interface `TypeDefinition`
      Specified by:
        `clone` in interface `TypeDefinitionObjectReference`
      Returns:
        Cloned copy of this weak object reference type definition.

    - #### getTargetSet

          AUID[] getTargetSet()

      Returns the target set of the reference type that provides the path from the root of an AAF file to a string referenced set than can be used to resolve a weak reference of this type.

      Returns:
        Property path for resolving properties of this reference kind.

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