tv.amwa.maj.union.impl (Media Authoring with Java API)
Date: 2016-02-05

# Package tv.amwa.maj.union.impl

Implementations of classes used to package up collections of values as an argument to a method of the MAJ API.

See: Description

- Class Summary
  Class | Description
  --- | ---
  DefaultFadeImpl | Implementation of a default fade to be applied to source clips in a composition package that do not specify their own fade properties.
  DefinitionCriteriaByClassImpl | Implementation of a criteria for matching a definition determined by reference to the unique identifier of a class definition.
  DefinitionCriteriaByKindImpl | Implementation of a criteria for matching a definition determined by its kind, such as data definition, property definition etc..
  DefinitionCriteriaByNameImpl | Implementation of a criteria for matching a definition by its name.
  DefinitionCriteriaImpl | Implementation of a criteria for matching a definition as determined by class, kind, name etc..
  DefinitionCriteriaNoSearchImpl | Implementation of a criteria for matching a definition that matches nothing.
  FadeImpl | Implementation of a fade that used to collect together the audio fade properties of source clip segments into a single method argument and return value.
  FindSourceInformationImpl | Implementation of a class that contains the result returned by the `tv.amwa.maj.model.SearchSource#searchSource(int, long, tv.amwa.maj.enumeration.MobKind, tv.amwa.maj.enumeration.CriteriaType, tv.amwa.maj.enumeration.OperationChoice)` method, containing source information about particular tracks.
  IdentificationCriteriaByIdGenerationImpl | Implementation of a criteria for matching an identification by its generation id.
  IdentificationCriteriaByIdProductIDImpl | Implementation of a criteria for matching an identification by its product id.
  IdentificationCriteriaByIdRefImplVersionImpl | Implementation of a criteria for matching an identification by its reference implementation version, also known as its toolkit version.
  IdentificationCriteriaImpl | Implementation of a criteria for matching an identification.
  IdentificationCriteriaNoIdSearchImpl | Implementation of a criteria for matching an identification that matches nothing.
  MultiCreateItemImpl | Implementation of an element of an array used to create interleaved audio and video essence.
  MultiResultItemImpl | Implementation of an element of an array containing multiple result values from an operation to read or write one or more channels from an interleaved data stream.
  MultiXferItemImpl | Implementation of an element of a transfer array that is used when reading or writing one or more channels from an interleaved data stream.
  SearchByAUIDImpl | Implementation of a search criteria for matching packages defined by an AUID value.
  SearchByMediaCriteriaImpl | Implementation of a search criteria for matching packages defined by media criteria.
  SearchByNameImpl | Implementation of a search criteria for matching packages defined by package name.
  SearchByPackageIDImpl | Implementation of a search criteria for matching packages defined by a package id.
  SearchByPackageKindImpl | Implementaiton of a earch criteria for matching packages defined by a kind of package.
  SearchCriteriaImpl | Implementation of a search criteria for matching packages specified in a number of different ways.
  SearchForNothingImpl | Implementation of a search criteria for matching packages that does not match anything.
  SourceReferenceValueImpl | Implementation of a source reference value that targets an item of source material, defined using a package id, source track id and start time.
  TimecodeClipImpl | Implementation of a reference to part of a timecode segment.

## Package tv.amwa.maj.union.impl Description

Implementations of classes used to package up collections of values as an argument to a method of the MAJ API. These classes are not themselves persistent objects. Packaging up property values into classes allows related values to be managed together. This approach is useful when:

- ensuring conditional rules of the AAF specification are adhered to;
- enabling a method to return a collection of related values.

All classes in this package override the `Object.equals(Object)`, `Object.clone()`, `Object.toString()` and `Object.hashCode()` methods. They are all cloneable and serializable.

## Heritage

Many of the classes in this package implement the search criteria specified in the union package. For more information on their heritage, see the heritage of the union package.

Classes starting with the word multi are used to manage interleaved essence and these classes are used as array elements in the method signatures of `EssenceMultiAccess`.

The `Fade` class collects together and manages source clip fade properties as a single item.

The `DefaultFade` and `tv.amwa.maj.argument.SourceReferenceValue` classes implement interfaces specified to ensure rules of the AAF object specification v1.1 are met. Similar structures were defined in the existing C-based reference implementation in file "`AAFTypes.h`" and used to ensure specified rules are complied with as indicated in the methods in "`AAF.idl`".

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