@MediaClass(uuid1=218169601, uuid2=257, uuid3=26112, uuid4={6,14,43,52,2,6,1,1}, definedName="ApplicationObject", symbol="ApplicationObject", description="Common properties of application plugin objects and application referenced objects. These classes provide the mechanism to decorate interchange objects with application-specific extension metadata.") public abstract class ApplicationObjectImpl extends InterchangeObjectImpl implements ApplicationObject, Cloneable, Serializable, XMLSerializable
ObjectClassPropertyID| Constructor and Description |
|---|
ApplicationObjectImpl() |
| Modifier and Type | Method and Description |
|---|---|
void |
appendXMLChildren(Node parent)
Append extra child elements to the given parent node to serialize the value of an object
to an XML fragment.
|
void |
clearExtensionProperties()
Clear all extension properties from this application object, effectively omitting
them all.
|
ApplicationObject |
clone()
Create a cloned copy of this interchange object.
|
int |
countExtensionProperties()
Returns the number of extension properties that are present for this application
object.
|
abstract ExtensionScheme |
getApplicationScheme() |
ClassDefinition |
getBaseClass()
Returns the class identifier of the immediate superclass that this object extends.
|
PropertyValue |
getExtensionProperty(AUID propertyID)
Get the value of an extension property by its property identifier.
|
PropertyValue |
getExtensionProperty(String propertyName)
Get the value of an extension property by its property name.
|
Set<AUID> |
getExtensionPropertyIDs()
Returns the set of extension property identifiers for present properties of this
application object.
|
SortedMap<? extends PropertyDefinition,? extends PropertyValue> |
getProperties()
Creates a map of all present property definitions
of this application object and their current values.
|
boolean |
isExtensionPropertyPresent(AUID propertyID)
Determines whether the given property identifier is for a present property of the
application object.
|
boolean |
isExtensionPropertyPresent(String propertyName)
Determines whether the given property name is for a present property of the
application object.
|
void |
putExtensionProperty(AUID propertyID,
PropertyValue propertyValue)
Put an extension property value into this application object by property identifier, either
creating the property the property and making it present, or updating its value.
|
void |
putExtensionProperty(String propertyName,
PropertyValue propertyValue)
Put an extension property value into this application object by property name, either
creating the property the property and making it present, or updating its value.
|
void |
setBaseClass(ClassDefinition baseClass)
Sets the class identifier of the immediate superclass that this object extends.
|
addApplicationPlugin, clearApplicationPlugins, containsApplicationPlugin, containsApplicationPlugin, countApplicationPlugins, deepEquals, disableGenerationTracking, enableGenerationTracking, equals, getApplicationPlugins, getComment, getGeneration, getLinkedGenerationID, getLinkedGenerationIDString, getObjectClass, getPersistentID, getPersistentIndex, hashCode, isGenerationTracked, removeApplicationPlugin, removeApplicationPlugin, setLinkedGenerationID, setLinkedGenerationIDString, setObjectClass, setPersistentID, setPersistentIndex, toStringaddApplicationPlugin, clearApplicationPlugins, containsApplicationPlugin, containsApplicationPlugin, countApplicationPlugins, deepEquals, disableGenerationTracking, enableGenerationTracking, equals, getApplicationPlugins, getGeneration, getLinkedGenerationID, getObjectClass, isGenerationTracked, removeApplicationPlugin, removeApplicationPlugin, setLinkedGenerationID, setObjectClass, toStringgetPersistentID, setPersistentIndexgetComment@MediaProperty(uuid1=100729092, uuid2=267, uuid3=0, uuid4={6,14,43,52,1,1,1,12}, definedName="BaseClass", typeName="ClassDefinitionWeakReference", optional=true, uniqueIdentifier=false, pid=0, symbol="BaseClass", description="Class of the immediate superclass that this object extends.") public ClassDefinition getBaseClass() throws PropertyNotPresentException
ApplicationObjectReturns the class identifier of the immediate superclass that this object extends. This is an optional property.
getBaseClass in interface ApplicationObjectPropertyNotPresentException - The optional base class property is not present for
this application object.InterchangeObject.getObjectClass()@MediaPropertySetter(value="BaseClass") public void setBaseClass(ClassDefinition baseClass)
ApplicationObjectSets the class identifier of the immediate superclass that this object extends. Set
this optional property to null to omit it.
setBaseClass in interface ApplicationObjectbaseClass - Class identifier of the immediate superclass that this object extends.InterchangeObject.setObjectClass(ClassDefinition)public Set<AUID> getExtensionPropertyIDs()
ApplicationObjectReturns the set of extension property identifiers for present properties of this
application object. This set can be used to iterate through all of the property
values with ApplicationObject.getExtensionProperty(AUID).
getExtensionPropertyIDs in interface ApplicationObjectpublic void clearExtensionProperties()
ApplicationObjectClear all extension properties from this application object, effectively omitting them all.
clearExtensionProperties in interface ApplicationObjectpublic int countExtensionProperties()
ApplicationObjectReturns the number of extension properties that are present for this application object.
countExtensionProperties in interface ApplicationObjectpublic PropertyValue getExtensionProperty(AUID propertyID) throws NullPointerException, PropertyNotPresentException, IllegalArgumentException
ApplicationObjectGet the value of an extension property by its property identifier.
getExtensionProperty in interface ApplicationObjectpropertyID - Identifier of the extension property to retrieve the value of.NullPointerException - Cannot retrieve an extension property using a null
identifier.PropertyNotPresentException - The given property identifier is not present for
this application object.IllegalArgumentException - The given property identifier is not known in the extension
scheme.ApplicationObject.getExtensionProperty(String),
ApplicationObject.putExtensionProperty(String, PropertyValue)public PropertyValue getExtensionProperty(String propertyName) throws NullPointerException, PropertyNotPresentException, IllegalArgumentException
ApplicationObjectGet the value of an extension property by its property name.
getExtensionProperty in interface ApplicationObjectpropertyName - Name of the extension property to retrieve the value of.NullPointerException - Cannot retrieve an extension property using a null
name.PropertyNotPresentException - The given property name is not present for
this application object.IllegalArgumentException - The given property identifier is not known in the extension
scheme.ApplicationObject.getExtensionProperty(AUID),
ApplicationObject.putExtensionProperty(String, PropertyValue)public boolean isExtensionPropertyPresent(AUID propertyID) throws NullPointerException, IllegalArgumentException
ApplicationObjectDetermines whether the given property identifier is for a present property of the
application object. A property is present when it exists in the extension properties
and its value is not null.
isExtensionPropertyPresent in interface ApplicationObjectpropertyID - Property identifier to check if the property is present.NullPointerException - Cannot check for the presence of a property using a null
identifier.IllegalArgumentException - The given property identifier does not match one
known in the associated extension scheme.ApplicationObject.isExtensionPropertyPresent(String),
ApplicationObject.getExtensionProperty(AUID)public boolean isExtensionPropertyPresent(String propertyName) throws NullPointerException, IllegalArgumentException
ApplicationObjectDetermines whether the given property name is for a present property of the
application object. A property is present when it exists in the extension properties
and its value is not null.
isExtensionPropertyPresent in interface ApplicationObjectpropertyName - Property identifier to check if the property is present.NullPointerException - Cannot check for the presence of a property using a null
identifier.IllegalArgumentException - The given property identifier does not match one
known in the associated extension scheme.ApplicationObject.isExtensionPropertyPresent(AUID),
ApplicationObject.getExtensionProperty(String)public void putExtensionProperty(AUID propertyID, PropertyValue propertyValue) throws IllegalArgumentException, NullPointerException, IllegalPropertyValueException
ApplicationObjectPut an extension property value into this application object by property identifier, either creating the property the property and making it present, or updating its value. The property should be within the context of the defined extension scheme.
Note that the property value cannot itself be null but the value it wraps
may be null, depending on the type and property definition. Property values
can be created with the TypeDefinition.createValue(Object) method.
putExtensionProperty in interface ApplicationObjectpropertyID - Identifier of the property to add or update.propertyValue - Value of the property to update.IllegalArgumentException - The given property identifier is not found within an appropriate
context.NullPointerException - One or both of the property identifier or value is/are null.IllegalPropertyValueException - The given property value does not match the type defined for
the property.ApplicationObject.putExtensionProperty(String, PropertyValue),
ApplicationObject.getExtensionProperty(AUID)public void putExtensionProperty(String propertyName, PropertyValue propertyValue) throws IllegalArgumentException, NullPointerException, IllegalPropertyValueException
ApplicationObjectPut an extension property value into this application object by property name, either creating the property the property and making it present, or updating its value. The property should be within the context of the defined extension scheme.
Note that the property value cannot itself be null but the value it wraps
may be null, depending on the type and property definition. Property values
can be created with the TypeDefinition.createValue(Object) method.
putExtensionProperty in interface ApplicationObjectpropertyName - Identifier of the property to add or update.propertyValue - Value of the property to update.IllegalArgumentException - The given property identifier is not known in the extension scheme.NullPointerException - One or both of the property identifier or value is/are null.IllegalPropertyValueException - The given property value does not match the type defined for
the property.ApplicationObject.putExtensionProperty(AUID, PropertyValue),
ApplicationObject.getExtensionProperty(String)public abstract ExtensionScheme getApplicationScheme()
public SortedMap<? extends PropertyDefinition,? extends PropertyValue> getProperties()
ApplicationObjectCreates a map of all present property definitions of this application object and their current values.
getProperties in interface ApplicationObjectpublic void appendXMLChildren(Node parent)
XMLSerializableAppend extra child elements to the given parent node to serialize the value of an object
to an XML fragment. Methods of the XMLBuilder class are provided to help with this
process.
appendXMLChildren in interface XMLSerializableappendXMLChildren in class InterchangeObjectImplparent - XML parent element to append child nodes to.public ApplicationObject clone()
InterchangeObjectCreate a cloned copy of this interchange object.
clone in interface MediaEntityclone in interface ApplicationObjectclone in interface InterchangeObjectclone in class InterchangeObjectImpl(c)2007-2016 Richard Cartwright, all rights reserved. Licensed under Apache 2 license and subject to the AMWA IPR policy.