org.apache.fop.fo.extensions.xmp

## Class AbstractMetadataElement

- java.lang.Object
- - org.apache.fop.fo.FONode
  - - org.apache.fop.fo.extensions.xmp.AbstractMetadataElement

All Implemented Interfaces:
  Cloneable, EventListener, ContentHandlerFactory.ObjectBuiltListener

Direct Known Subclasses:
  RDFElement, XMPMetaElement

    public abstract class AbstractMetadataElement
    extends FONode
    implements ContentHandlerFactory.ObjectBuiltListener

Abstract base class for the XMP and RDF root nodes.

### Nested Class Summary

### Nested classes/interfaces inherited from class org.apache.fop.fo.FONode

`FONode.FONodeIterator, FONode.GatherContextInfoFunction`

### Field Summary

### Fields inherited from class org.apache.fop.fo.FONode

`FO_URI, FOX_URI, locator, log, nodeChangeBarList, parent, siblings, startOfNodeChangeBarList`

### Constructor Summary

Constructors
Constructor and Description
`AbstractMetadataElement(FONode parent)` Main constructor.

### Method Summary

All Methods Instance Methods Concrete Methods
`ContentHandlerFactory` `getContentHandlerFactory()` This method is overridden by extension elements and allows the extension element to return a `ContentHandlerFactory`.
`ExtensionAttachment` `getExtensionAttachment()` This method is overridden by extension elements and allows the extension element to return a pass-through attachment which the parent formatting objects should simply carry with them but otherwise ignore.
`void` `notifyObjectBuilt(Object obj)` Notifies the listener when the object is fully built.

### Methods inherited from class org.apache.fop.fo.FONode

`addCharacters, addChildNode, attachSiblings, bind, canHaveMarkers, characters, charIterator, clone, clone, collectDelimitedTextRanges, collectDelimitedTextRanges, createPropertyList, decorateWithContextInfo, endOfNode, errorText, finalizeNode, gatherContextInfo, getBuilderContext, getChangeBarList, getChildNodes, getChildNodes, getContextInfo, getContextInfoAlt, getFOEventHandler, getFOValidationEventProducer, getLocalName, getLocator, getLocatorString, getLogger, getName, getName, getNameId, getNamespaceURI, getNodePrefix, getNodeString, getNormalNamespacePrefix, getParent, getRoot, getStructureTreeElement, getUserAgent, inMarker, invalidChildError, invalidChildError, invalidPropertyValueError, isBidiRangeBlockItem, isChangeBarElement, isDelimitedTextRangeBoundary, missingChildElementError, missingChildElementError, missingPropertyError, nodesOutOfOrderError, nodesOutOfOrderError, notSupportedChildError, processNode, removeChild, setLocator, setStructureTreeElement, startOfNode, tooManyNodesError, tooManyNodesError, tooManyNodesError, validateChildNode, validateChildNode, warningText`

### Methods inherited from class java.lang.Object

`equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### AbstractMetadataElement

    public AbstractMetadataElement(FONode parent)

Main constructor.

Parameters:
  `parent` - the parent formatting object

### Method Detail

#### getContentHandlerFactory

    public ContentHandlerFactory getContentHandlerFactory()

This method is overridden by extension elements and allows the extension element to return a `ContentHandlerFactory`. This factory can create ContentHandler implementations that handle foreign XML content by either building up a specific DOM, a Java object or something else.

Overrides:
  `getContentHandlerFactory` in class `FONode`
Returns:
  the `ContentHandlerFactory` or `null` if not applicable

#### getExtensionAttachment

    public ExtensionAttachment getExtensionAttachment()

This method is overridden by extension elements and allows the extension element to return a pass-through attachment which the parent formatting objects should simply carry with them but otherwise ignore. This mechanism is used to pass non-standard information from the FO tree through to the layout engine and the renderers.

Overrides:
  `getExtensionAttachment` in class `FONode`
Returns:
  the extension attachment if one is created by the extension element, null otherwise.

#### notifyObjectBuilt

    public void notifyObjectBuilt(Object obj)

Notifies the listener when the object is fully built.

Specified by:
  `notifyObjectBuilt` in interface `ContentHandlerFactory.ObjectBuiltListener`
Parameters:
  `obj` - the newly built object