Class 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.
    • 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 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 that fo:table is not an immediate child of fo:root) called from FOTreeBuilder.startElement(String, String, String, Attributes) before constructing the child FObj.
        Overrides:
        validateChildNode in class FONode
        Parameters:
        loc - location in the FO source file
        nsURI - namespace of incoming node
        localName - 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 #PCDATA content.
        Overrides:
        characters in class FONode
        Parameters:
        data - array of characters containing text to be added
        start - starting array element to add
        length - number of elements to add
        pList - currently applicable PropertyList
        locator - location in the XSL-FO source file.
      • getNamespaceURI

        public java.lang.String getNamespaceURI()
        Returns the namespace URI for this node
        Overrides:
        getNamespaceURI in class FONode
        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 class FONode
        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 class FONode
        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 the FOEventHandler that the end of this FO has been reached. The default implementation simply calls FONode.finalizeNode(), without sending any event to the FOEventHandler.

        Note: the recommended way to override this method in subclasses is

        super.endOfNode(); // invoke finalizeNode()

        getFOEventHandler().endXXX(); // send endOfNode() notification

        Overrides:
        endOfNode in class FONode
        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:
        getExtensionAttachment in class FONode
        Returns:
        the extension attachment if one is created by the extension element, null otherwise.