@HiddenClass public abstract class TypeDefinitionObjectReferenceImpl extends SingletonTypeDefinitionImpl implements TypeDefinitionObjectReference, XMLSerializable, Serializable, Cloneable
Implements the definition of a property type that defines an object relationship.
| Modifier and Type | Class and Description |
|---|---|
static class |
TypeDefinitionObjectReferenceImpl.ObjectReferenceValue |
static class |
TypeDefinitionObjectReferenceImpl.UnresolvedReferenceValue |
SingletonTypeDefinitionImpl.SingletonMethodBagTypeDefinitionImpl.PropertyValueImplAAF_METADICT_NAMESPACE, AAF_METADICT_PREFIX, AAF_XML_NAMESPACE, AAF_XML_PREFIX, ApplicationPluginObjectID, ApplicationPluginsID, MAX_NUM_RGBA_COMPS, MemberOfID, ObjectClassID, ParentClassID, PropertiesID, XMLClassIDAsAttributeName| Constructor and Description |
|---|
TypeDefinitionObjectReferenceImpl() |
| Modifier and Type | Method and Description |
|---|---|
TypeDefinitionObjectReference |
clone()
Create a cloned copy of this meta definition.
|
PropertyValue |
createFromBytes(ByteBuffer buffer)
Create a value of this type by reading the bytes in the given byte buffer.
|
PropertyValue |
createValue(Object object)
Create a property value from the given Java object.
|
static AUID |
getLocalReference(PropertyValue value) |
Object |
getObject(PropertyValue propertyValue)
Returns the object referenced by the given object
reference property value.
|
ClassDefinition |
getObjectType()
Returns the class definition representing
the class of objects to which this object reference type definition can
refer.
|
long |
lengthAsBytes(PropertyValue value)
Returns the number of bytes that the given value of this type is serialized as a
sequence of bytes.
|
void |
setObject(PropertyValue propertyValue,
Object object)
Sets the given object as the target of the given object
reference property value.
|
List<PropertyValue> |
writeAsBytes(PropertyValue value,
ByteBuffer buffer)
Write the given property value of this type to the given byte stream.
|
setPropertyValuegetNamespace, getPrefix, getPropertyValue, getTypeCategory, initalizeTypeNameMap, nameToAAFName, resolveReferences, writeAsStructuredStorageBytesaafNameToName, appendMetadictXML, appendXMLChildren, deepEquals, equals, getAAFNamesInUse, getAliases, getAUID, getComment, getDescription, getIdentification, getName, getSymbol, getWeakTargetReference, hashCode, initializeMetaDefinitionIdentification, initializeMetaDefinitionName, setAAFNamesInUse, setAliases, setDescription, setIdentification, setName, setNamespace, setPrefix, setSymbol, toStringgetPropertyValue, getTypeCategory, resolveReferences, setPropertyValue, writeAsStructuredStorageBytesappendMetadictXML, deepEquals, equals, getAAFNamesInUse, getAliases, getAUID, getDescription, getName, getNamespace, getPrefix, getSymbol, hashCode, setAAFNamesInUse, setDescription, setName, setNamespace, setPrefix, setSymbol, toStringgetWeakTargetReferenceappendXMLChildren, getCommentpublic PropertyValue createValue(Object object) throws ClassCastException
TypeDefinitionImplCreate a property value from the given Java object. If the type of
the object is not compatible with this type definition, a ClassCastException
is thrown.
createValue in interface TypeDefinitioncreateValue in interface TypeDefinitionObjectReferencecreateValue in class TypeDefinitionImplobject - Java object to use to create a property value of this type.ClassCastException - The given object cannot be cast to a property value with
this type definition.TypeDefinitionObjectReference.setObject(PropertyValue, Object)public Object getObject(PropertyValue propertyValue) throws NullPointerException, IllegalPropertyValueException
TypeDefinitionObjectReferenceReturns the object referenced by the given object reference property value.
getObject in interface TypeDefinitionObjectReferencepropertyValue - Property value form which the value is to
be read.NullPointerException - The given property value containing
a reference is null.IllegalPropertyValueException - The given property value is
not defined by this object reference type.public ClassDefinition getObjectType()
TypeDefinitionObjectReferenceReturns the class definition representing the class of objects to which this object reference type definition can refer. The returned definition is the least-derived type that it is permissible to represent, in other words the type definition can represent objects of the given class and any of its sub-classes.
getObjectType in interface TypeDefinitionObjectReferencepublic void setObject(PropertyValue propertyValue, Object object) throws NullPointerException, IllegalPropertyValueException, ClassCastException
TypeDefinitionObjectReferenceSets the given object as the target of the given object reference property value.
setObject in interface TypeDefinitionObjectReferencepropertyValue - Property value containing the object
reference to be set.object - Target of the object reference to set for the
given property value.NullPointerException - Argument is null.IllegalPropertyValueException - The given property value is
not defined by this object reference type.ClassCastException - The given object cannot be cast
to one compatible with the permissible classes, as returned
by TypeDefinitionObjectReference.getObjectType().TypeDefinitionObjectReference.createValue(Object)public PropertyValue createFromBytes(ByteBuffer buffer) throws NullPointerException, EndOfDataException
TypeDefinitionCreate a value of this type by reading the bytes in the given byte buffer. The buffer is assumed to have exactly the number of bytes that represent the value. For example, the length of a string value will be determined by the length (remaining bytes) in the buffer and not by reading a length value from the buffer.
This method is able to read values written by the
TypeDefinition.writeAsBytes(PropertyValue, ByteBuffer) method.
createFromBytes in interface TypeDefinitioncreateFromBytes in class TypeDefinitionImplbuffer - Buffer to create a value from.NullPointerException - Cannot read values from a null buffer.EndOfDataException - Insufficient bytes remaining in the given buffer to create
a value of this type.TypeDefinition.writeAsBytes(PropertyValue, ByteBuffer),
TypeDefinition.lengthAsBytes(PropertyValue)public long lengthAsBytes(PropertyValue value) throws NullPointerException, IllegalPropertyValueException
TypeDefinitionReturns the number of bytes that the given value of this type is serialized as a sequence of bytes.
The number returned by this method is the same as the number of bytes written
to a byte buffer by the TypeDefinition.writeAsBytes(PropertyValue, ByteBuffer) method.
lengthAsBytes in interface TypeDefinitionlengthAsBytes in class TypeDefinitionImplvalue - Value to find the length of when serialized to bytes.NullPointerException - Cannot compute the serialized length of a null value.IllegalPropertyValueException - The given property value is not of this type.TypeDefinition.writeAsBytes(PropertyValue, ByteBuffer),
TypeDefinition.createFromBytes(ByteBuffer)public List<PropertyValue> writeAsBytes(PropertyValue value, ByteBuffer buffer) throws NullPointerException, IllegalPropertyValueException, InsufficientSpaceException
TypeDefinitionWrite the given property value of this type to the given byte stream. This version is most appropriate for writing KLV streams (MXF files).
The format used to serialize the value with be compatible with the
TypeDefinition.createFromBytes(ByteBuffer) method. The number of bytes written to
the byte buffer will be the same as returned by TypeDefinition.lengthAsBytes(PropertyValue).
writeAsBytes in interface TypeDefinitionwriteAsBytes in class TypeDefinitionImplvalue - Value to write to the given buffer.buffer - Buffer to write the value to.NullPointerException - Cannot write from a null property value and/or
to a null value.IllegalPropertyValueException - The given property value is not of this type.InsufficientSpaceException - Insufficient space to write the given value into the
given buffer.TypeDefinition.writeAsStructuredStorageBytes(PropertyValue, ByteBuffer),
TypeDefinition.createFromBytes(ByteBuffer),
TypeDefinition.lengthAsBytes(PropertyValue)public static final AUID getLocalReference(PropertyValue value) throws NullPointerException, IllegalPropertyValueException
public TypeDefinitionObjectReference clone()
MetaDefinitionCreate a cloned copy of this meta definition.
clone in interface MetaDefinitionclone in interface TypeDefinitionclone in interface TypeDefinitionObjectReferenceclone in class TypeDefinitionImpl(c)2007-2016 Richard Cartwright, all rights reserved. Licensed under Apache 2 license and subject to the AMWA IPR policy.