Class AbstractAFPExtensionObject
- java.lang.Object
-
- org.apache.fop.fo.FONode
-
- org.apache.fop.render.afp.extensions.AbstractAFPExtensionObject
-
- All Implemented Interfaces:
java.lang.Cloneable
- Direct Known Subclasses:
AFPIncludeFormMapElement
,AFPInvokeMediumMapElement
,AFPPageOverlayElement
,AFPPageSetupElement
public abstract class AbstractAFPExtensionObject extends FONode
Base class for the AFP-specific extension elements.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.fop.fo.FONode
FONode.FONodeIterator, FONode.GatherContextInfoFunction
-
-
Field Summary
Fields Modifier and Type Field Description protected AFPExtensionAttachment
extensionAttachment
the AFP extension attachmentprotected java.lang.String
name
the element name of this extension
-
Constructor Summary
Constructors Constructor Description AbstractAFPExtensionObject(FONode parent, java.lang.String name)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
endOfNode()
Primarily used for making final content model validation checks and/or informing theFOEventHandler
that the end of this FO has been reached.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.java.lang.String
getLocalName()
Returns the local name (i.e.java.lang.String
getNamespaceURI()
Returns the namespace URI for this nodejava.lang.String
getNormalNamespacePrefix()
Returns the normally used namespace prefix for this nodeprotected abstract ExtensionAttachment
instantiateExtensionAttachment()
Instantiates extension attachment objectvoid
processNode(java.lang.String elementName, org.xml.sax.Locator locator, org.xml.sax.Attributes attlist, PropertyList propertyList)
Initialize the node with its name, location information, and attributes The attributes must be used immediately as the sax attributes will be altered for the next element.protected void
validateChildNode(org.xml.sax.Locator loc, java.lang.String nsURI, java.lang.String localName)
Checks to make sure, during SAX processing of input document, that the incoming node is valid for this (parent) node (e.g., checking to see thatfo:table
is not an immediate child offo:root
) called fromFOTreeBuilder.startElement(String, String, String, Attributes)
before constructing the childFObj
.-
Methods inherited from class org.apache.fop.fo.FONode
addCharacters, addChildNode, attachSiblings, bind, canHaveMarkers, characters, charIterator, clone, clone, collectDelimitedTextRanges, collectDelimitedTextRanges, createPropertyList, decorateWithContextInfo, errorText, finalizeNode, gatherContextInfo, getBuilderContext, getChildNodes, getChildNodes, getContentHandlerFactory, getContextInfo, getContextInfoAlt, getFOEventHandler, getFOValidationEventProducer, getLocator, getLocatorString, getLogger, getName, getName, getNameId, getNodePrefix, getNodeString, getParent, getRoot, getStructureTreeElement, getUserAgent, inMarker, invalidChildError, invalidChildError, invalidPropertyValueError, isBidiRangeBlockItem, isDelimitedTextRangeBoundary, missingChildElementError, missingChildElementError, missingPropertyError, nodesOutOfOrderError, nodesOutOfOrderError, notSupportedChildError, removeChild, setLocator, setStructureTreeElement, startOfNode, tooManyNodesError, tooManyNodesError, tooManyNodesError, validateChildNode, warningText
-
-
-
-
Field Detail
-
extensionAttachment
protected AFPExtensionAttachment extensionAttachment
the AFP extension attachment
-
name
protected java.lang.String name
the element name of this extension
-
-
Constructor Detail
-
AbstractAFPExtensionObject
public AbstractAFPExtensionObject(FONode parent, java.lang.String name)
- Parameters:
parent
- the parent formatting objectname
- the name of the afp element- See Also:
FONode(FONode)
-
-
Method Detail
-
validateChildNode
protected void validateChildNode(org.xml.sax.Locator loc, java.lang.String nsURI, java.lang.String localName) throws ValidationException
Checks to make sure, during SAX processing of input document, that the incoming node is valid for this (parent) node (e.g., checking to see thatfo:table
is not an immediate child offo:root
) called fromFOTreeBuilder.startElement(String, String, String, Attributes)
before constructing the childFObj
.- Overrides:
validateChildNode
in classFONode
- Parameters:
loc
- location in the FO source filensURI
- namespace of incoming nodelocalName
- name of the incoming node (without namespace prefix)- Throws:
ValidationException
- if incoming node not valid for parent
-
getNamespaceURI
public java.lang.String getNamespaceURI()
Returns the namespace URI for this node- Overrides:
getNamespaceURI
in classFONode
- Returns:
- the namespace URI for this node
-
getNormalNamespacePrefix
public java.lang.String getNormalNamespacePrefix()
Returns the normally used namespace prefix for this node- Specified by:
getNormalNamespacePrefix
in classFONode
- Returns:
- the normally used namespace prefix for this kind of node (ex. "fo" for XSL-FO)
-
processNode
public void processNode(java.lang.String elementName, org.xml.sax.Locator locator, org.xml.sax.Attributes attlist, PropertyList propertyList) throws FOPException
Initialize the node with its name, location information, and attributes The attributes must be used immediately as the sax attributes will be altered for the next element.- Overrides:
processNode
in classFONode
- Parameters:
elementName
- element name (e.g., "fo:block")locator
- Locator object (ignored by default)attlist
- Collection of attributes passed to us from the parser.propertyList
- the property list of the parent node- Throws:
FOPException
- for errors or inconsistencies in the attributes
-
endOfNode
public void endOfNode() throws FOPException
Primarily used for making final content model validation checks and/or informing theFOEventHandler
that the end of this FO has been reached. The default implementation simply callsFONode.finalizeNode()
, without sending any event to theFOEventHandler
.Note: the recommended way to override this method in subclasses is
super.endOfNode(); // invoke finalizeNode()
getFOEventHandler().endXXX(); // send endOfNode() notification
- Overrides:
endOfNode
in classFONode
- Throws:
FOPException
- if there's a problem during processing
-
instantiateExtensionAttachment
protected abstract ExtensionAttachment instantiateExtensionAttachment()
Instantiates extension attachment object- Returns:
- extension attachment
-
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 classFONode
- Returns:
- the extension attachment if one is created by the extension element, null otherwise.
-
getLocalName
public java.lang.String getLocalName()
Returns the local name (i.e. without namespace prefix) of the node- Specified by:
getLocalName
in classFONode
- Returns:
- the local name of this node
-
-