Class AbstractPSExtensionObject
- java.lang.Object
-
- org.apache.fop.fo.FONode
-
- org.apache.fop.render.ps.extensions.AbstractPSExtensionObject
-
- All Implemented Interfaces:
java.lang.Cloneable
- Direct Known Subclasses:
PSPageSetupCodeElement,PSSetupCodeElement
public abstract class AbstractPSExtensionObject extends FONode
Base class for the PostScript-specific extension elements.
-
-
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 Description AbstractPSExtensionObject(FONode parent)Main constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidcharacters(char[] data, int start, int length, PropertyList pList, org.xml.sax.Locator locator)Adds characters.voidendOfNode()Primarily used for making final content model validation checks and/or informing theFOEventHandlerthat the end of this FO has been reached.ExtensionAttachmentgetExtensionAttachment()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.StringgetNamespaceURI()Returns the namespace URI for this nodejava.lang.StringgetNormalNamespacePrefix()Returns the normally used namespace prefix for this nodevoidprocessNode(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 voidvalidateChildNode(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:tableis 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, charIterator, clone, clone, collectDelimitedTextRanges, collectDelimitedTextRanges, createPropertyList, decorateWithContextInfo, errorText, finalizeNode, gatherContextInfo, getBuilderContext, getChangeBarList, getChildNodes, getChildNodes, getContentHandlerFactory, getContextInfo, getContextInfoAlt, getFOEventHandler, getFOValidationEventProducer, getLocalName, getLocator, getLocatorString, getLogger, getName, getName, getNameId, getNodePrefix, getNodeString, getParent, getRoot, getStructureTreeElement, getUserAgent, inMarker, invalidChildError, invalidChildError, invalidPropertyValueError, isBidiRangeBlockItem, isChangeBarElement, isDelimitedTextRangeBoundary, missingChildElementError, missingChildElementError, missingPropertyError, nodesOutOfOrderError, nodesOutOfOrderError, notSupportedChildError, removeChild, setLocator, setStructureTreeElement, startOfNode, tooManyNodesError, tooManyNodesError, tooManyNodesError, validateChildNode, warningText
-
-
-
-
Constructor Detail
-
AbstractPSExtensionObject
public AbstractPSExtensionObject(FONode parent)
Main constructor.- Parameters:
parent- the parent node- See Also:
FONode(FONode)
-
-
Method Detail
-
validateChildNode
protected void validateChildNode(org.xml.sax.Locator loc, java.lang.String nsURI, java.lang.String localName) throws ValidationExceptionChecks 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:tableis not an immediate child offo:root) called fromFOTreeBuilder.startElement(String, String, String, Attributes)before constructing the childFObj.- Overrides:
validateChildNodein 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
-
characters
protected void characters(char[] data, int start, int length, PropertyList pList, org.xml.sax.Locator locator)Adds characters. Does nothing by default. To be overridden in subclasses that allow#PCDATAcontent.- Overrides:
charactersin classFONode- Parameters:
data- array of characters containing text to be addedstart- starting array element to addlength- number of elements to addpList- currently applicable PropertyListlocator- location in the XSL-FO source file.
-
getNamespaceURI
public java.lang.String getNamespaceURI()
Returns the namespace URI for this node- Overrides:
getNamespaceURIin 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:
getNormalNamespacePrefixin 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 FOPExceptionInitialize 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:
processNodein 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 FOPExceptionPrimarily used for making final content model validation checks and/or informing theFOEventHandlerthat 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:
endOfNodein classFONode- Throws:
FOPException- if there's a problem during processing
-
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:
getExtensionAttachmentin classFONode- Returns:
- the extension attachment if one is created by the extension element, null otherwise.
-
-