Media Authoring
with Java API

tv.amwa.maj.embeddable
Interface MAJCommon

All Known Implementing Classes:
AUID, DateStruct, EdgecodeValue, MobID, ProductVersion, Rational, RGBAComponent, TimecodeValue, TimeStamp, TimeStruct, VersionType

public interface MAJCommon

Specifies MAJ API-specific common methods implemented by all classes in the embeddable package. These methods are the common methods from Object, such as to string and hash code, that the MAJ API requires are implemented for all embeddable classes.

All classes that implement this interface also provide the following services:

  1. A public static castFromInterface() method that takes any interface-compatible implementation of the class and returns a MAJ API-implemented version.
  2. A public setPropertiesFromInterface() method that takes any interface-compatible implementation of the class and uses its property values to set all the values of this class.

Note that it is not possible to enforce the existence of the methods described above using Java interfaces. These are an implementation pattern that is specific to the MAJ API.

Author:
Richard Cartwright
See Also:
AUID.castFromInterface(tv.amwa.maj.record.AUID), AUID.setPropertiesFromInterface(tv.amwa.maj.record.AUID)

Method Summary
 Object clone()
          Creates a cloned deep copy of this embeddable value.
 boolean equals(Object o)
          Tests to see if the given object is equal to this embeddable value.
 int hashCode()
          Returns a hash code value for this embeddable object.
 String toString()
          Create and return a human-readable string representation of this embeddable value.
 

Method Detail

toString

String toString()

Create and return a human-readable string representation of this embeddable value.

Overrides:
toString in class Object
Returns:
String representation of this embeddable value.
See Also:
Object.toString()

hashCode

int hashCode()

Returns a hash code value for this embeddable object.

Overrides:
hashCode in class Object
Returns:
Hash code value for this embeddable object.
See Also:
Object.hashCode()

equals

boolean equals(Object o)

Tests to see if the given object is equal to this embeddable value. To be equal, the given value must be not null, share the same interface to its value and each of the properties of the value must each be equal.

Overrides:
equals in class Object
Parameters:
o - Object to test for equality with.
Returns:
Is the given object equals to this value?
See Also:
Object.equals(Object)

clone

Object clone()

Creates a cloned deep copy of this embeddable value. The clone will be initialized to have the same value as this value but exists independently from then on. Changes to this value will not effect the clone and changes to the clone will not effect this. MAJ API clones are true deep clones with no shared references to areas of memory within the original.

This method does not throw a CloneNotSupportedException as all embeddable values must implement the Cloneable interface.

Returns:
Independent clone of this value, which is a deep copy.
See Also:
Object.clone()

Media Authoring
with Java API

(c) 2007-2008 Richard Cartwright, all rights reserved. Subject to the terms of the AAF SDK Public Source License.