| java.lang.Object org.apache.fop.fo.FONode
All known Subclasses: org.apache.fop.fo.FOText, org.apache.fop.fo.extensions.xmp.AbstractMetadataElement, org.apache.fop.render.afp.extensions.AbstractAFPExtensionObject, org.apache.fop.fo.extensions.destination.Destination, org.apache.fop.fo.XMLObj, org.apache.fop.render.ps.extensions.AbstractPSExtensionObject, org.apache.fop.fo.FObj,
FONode | abstract public class FONode implements Cloneable(Code) | | Base class for nodes in the XML tree
|
Inner Class :public interface FONodeIterator extends ListIterator | |
Constructor Summary | |
protected | FONode(FONode parent) Main constructor. |
Method Summary | |
protected void | addCharacters(char[] data, int start, int end, PropertyList pList, Locator locator) | protected void | addChildNode(FONode child) Adds a node as a child of this node. | protected static void | attachSiblings(FONode precedingSibling, FONode followingSibling) | protected void | attributeError(String problem) | protected void | attributeWarning(String problem) | public void | bind(PropertyList propertyList) Bind the given PropertyList to this node
Does nothing by default. | protected boolean | canHaveMarkers() | public CharIterator | charIterator() | public FONode | clone(FONode cloneparent, boolean removeChildren) | protected Object | clone() | protected PropertyList | createPropertyList(PropertyList pList, FOEventHandler foEventHandler) Create a property list for this node. | public static String | decorateWithContextInfo(String text, FONode node) Decorates a log or warning message with context information on the given node. | protected void | endOfNode() Primarily used for making final content model validation checks
and/or informing the FOEventHandler that the end of this FO
has been reached. | protected static String | errorText(Locator loc) | protected String | gatherContextInfo() Gathers context information for the getContextInfo() method. | public FONodeIterator | getChildNodes() Return an iterator over all the child nodes of this FObj. | public FONodeIterator | getChildNodes(FONode childNode) Return an iterator over the object's child nodes starting
at the passed node. | public ContentHandlerFactory | getContentHandlerFactory() This method is overridden by extension elements and allows the extension element to return
a ContentHandlerFactory. | public String | getContextInfo() Returns a String containing as much context information as possible about a node. | 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. | public FOEventHandler | getFOEventHandler() Recursively goes up the FOTree hierarchy until the fo:root is found,
which returns the parent FOEventHandler. | abstract public String | getLocalName() Returns the local name (i.e. | public Locator | getLocator() | public static String | getLocatorString(Locator loc) Helper function to format a Locator instance. | public Log | getLogger() Returns the logger for the node. | public String | getName() | public String | getName(String prefix) | public int | getNameId() | public String | getNamespaceURI() | public static String | getNodeString(String namespaceURI, String localName) Helper function to standardize the names of all namespace URI - local
name pairs in text messages. | abstract public String | getNormalNamespacePrefix() the normally ussed namespace prefix for this kind of node (ex. | public FONode | getParent() | public Root | getRoot() | public FOUserAgent | getUserAgent() Returns the user agent for the node. | protected boolean | inMarker() | protected void | invalidChildError(Locator loc, String nsURI, String lName) | protected void | invalidChildError(Locator loc, String nsURI, String lName, String ruleViolated) | protected void | missingChildElementError(String contentModel) Helper function to throw an error caused by missing mandatory child elements. | protected void | missingPropertyError(String propertyName) | protected void | nodesOutOfOrderError(Locator loc, String tooLateNode, String tooEarlyNode) | public void | processNode(String elementName, Locator locator, Attributes attlist, PropertyList pList) 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. | public void | removeChild(FONode child) Removes a child node. | public void | setLocator(Locator locator) | protected void | startOfNode() Called after processNode() is called. | protected void | tooManyNodesError(Locator loc, String nsURI, String lName) | protected void | tooManyNodesError(Locator loc, String offendingNode) | protected void | validateChildNode(Locator loc, String namespaceURI, String localName) Checks to make sure, during SAX processing of input document, that the
incoming node is valid for the this (parent) node (e.g., checking to
see that fo:table is not an immediate child of fo:root)
called within FObj constructor
Parameters: loc - location in the FO source file Parameters: namespaceURI - namespace of incoming node Parameters: localName - (e.g. | protected static String | warningText(Locator loc) |
FO_URI | final protected static String FO_URI(Code) | | the XSL-FO namespace URI
|
locator | protected Locator locator(Code) | | Marks location of this object from the input FO
Call locator.getSystemId(), getLineNumber(),
getColumnNumber() for file, line, column
information
|
log | protected static Log log(Code) | | Logger for fo-tree related messages *
|
siblings | protected FONode[] siblings(Code) | | pointer to the sibling nodes
|
FONode | protected FONode(FONode parent)(Code) | | Main constructor.
Parameters: parent - parent of this node |
addCharacters | protected void addCharacters(char[] data, int start, int end, PropertyList pList, Locator locator) throws FOPException(Code) | | Adds characters (does nothing here)
Parameters: data - array of characters containing text to be added Parameters: start - starting array element to add Parameters: end - ending array element to add Parameters: pList - currently applicable PropertyList Parameters: locator - location in fo source file. throws: FOPException - if there's a problem during processing |
addChildNode | protected void addChildNode(FONode child) throws FOPException(Code) | | Adds a node as a child of this node. The default implementation of this method
just ignores any child node being added.
Parameters: child - child node to be added to the childNodes of this node throws: FOPException - if there's a problem during processing |
attachSiblings | protected static void attachSiblings(FONode precedingSibling, FONode followingSibling)(Code) | | |
attributeError | protected void attributeError(String problem) throws ValidationException(Code) | | Helper function to standardize property error exceptions
(e.g., not specifying either an internal- or an external-destination
property for an FO:link)
Parameters: problem - text to display that indicates the problem throws: ValidationException - the validation error provoked by the method call |
attributeWarning | protected void attributeWarning(String problem)(Code) | | Helper function to standardize attribute warnings
(e.g., currently unsupported properties)
Parameters: problem - text to display that indicates the problem |
bind | public void bind(PropertyList propertyList) throws FOPException(Code) | | Bind the given PropertyList to this node
Does nothing by default. Subclasses should override this method
in case they want to use the properties available on the
PropertyList .
Parameters: propertyList - the PropertyList throws: FOPException - if there was an error whenprocessing the PropertyList |
canHaveMarkers | protected boolean canHaveMarkers()(Code) | | true if markers are valid children |
charIterator | public CharIterator charIterator()(Code) | | an iterator for the characters in this node |
clone | public FONode clone(FONode cloneparent, boolean removeChildren) throws FOPException(Code) | | Perform a shallow cloning operation,
set its parent, and optionally clean the list of child nodes
Parameters: cloneparent - the intended parent of the clone Parameters: removeChildren - if true, clean the list of child nodes the cloned FO node throws: FOPException - if there's a problem while cloning the node |
createPropertyList | protected PropertyList createPropertyList(PropertyList pList, FOEventHandler foEventHandler) throws FOPException(Code) | | Create a property list for this node. Return null if the node does not
need a property list.
Parameters: pList - the closest parent propertylist. Parameters: foEventHandler - The FOEventHandler where the PropertyListMaker instance can be found. A new property list. throws: FOPException - if there's a problem during processing |
decorateWithContextInfo | public static String decorateWithContextInfo(String text, FONode node)(Code) | | Decorates a log or warning message with context information on the given node.
Parameters: text - the original message Parameters: node - the context node the decorated text |
endOfNode | protected void endOfNode() throws FOPException(Code) | | Primarily used for making final content model validation checks
and/or informing the FOEventHandler that the end of this FO
has been reached.
throws: FOPException - if there's a problem during processing |
errorText | protected static String errorText(Locator loc)(Code) | | Helper function to return "Error(line#/column#)" string for
above exception messages
Parameters: loc - org.xml.sax.Locator object String opening error text |
gatherContextInfo | protected String gatherContextInfo()(Code) | | Gathers context information for the getContextInfo() method.
the collected context information or null, if none is available |
getChildNodes | public FONodeIterator getChildNodes()(Code) | | Return an iterator over all the child nodes of this FObj.
A ListIterator. |
getChildNodes | public FONodeIterator getChildNodes(FONode childNode)(Code) | | Return an iterator over the object's child nodes starting
at the passed node.
Parameters: childNode - First node in the iterator A ListIterator or null if child node isn't a child ofthis FObj. |
getContentHandlerFactory | public ContentHandlerFactory getContentHandlerFactory()(Code) | | 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.
the ContentHandlerFactory or null if not applicable |
getContextInfo | public String getContextInfo()(Code) | | Returns a String containing as much context information as possible about a node. Call
this methods only in exceptional conditions because this method may perform quite extensive
information gathering inside the FO tree.
a String containing |
getExtensionAttachment | public ExtensionAttachment getExtensionAttachment()(Code) | | 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.
the extension attachment if one is created by the extension element, null otherwise. |
getFOEventHandler | public FOEventHandler getFOEventHandler()(Code) | | Recursively goes up the FOTree hierarchy until the fo:root is found,
which returns the parent FOEventHandler.
the FOEventHandler object that is the parent of the FO Tree |
getLocalName | abstract public String getLocalName()(Code) | | Returns the local name (i.e. without namespace prefix) of the node
the local name of this node |
getLocator | public Locator getLocator()(Code) | | the location information for this element or null, if not available |
getLocatorString | public static String getLocatorString(Locator loc)(Code) | | Helper function to format a Locator instance.
Parameters: loc - org.xml.sax.Locator object String the formatted text |
getLogger | public Log getLogger()(Code) | | Returns the logger for the node.
the logger |
getName | public String getName()(Code) | | Returns the fully qualified name of the node
the fully qualified name of this node |
getName | public String getName(String prefix)(Code) | | Returns the fully qualified name of the node
Parameters: prefix - the namespace prefix to build the name with (may be null) the fully qualified name of this node |
getNameId | public int getNameId()(Code) | | Returns the Constants class integer value of this node
the integer enumeration of this FO (e.g., FO_ROOT)if a formatting object, FO_UNKNOWN_NODE otherwise |
getNamespaceURI | public String getNamespaceURI()(Code) | | the namespace URI for this node |
getNodeString | public static String getNodeString(String namespaceURI, String localName)(Code) | | Helper function to standardize the names of all namespace URI - local
name pairs in text messages.
For readability, using fo:, fox:, svg:, for those namespaces even
though that prefix may not have been chosen in the document.
Parameters: namespaceURI - URI of node found (e.g., "http://www.w3.org/1999/XSL/Format") Parameters: localName - local name of node, (e.g., "root" for "fo:root") the prefix:localname, if fo/fox/svg, or a longer representationwith the unabbreviated URI otherwise. |
getNormalNamespacePrefix | abstract public String getNormalNamespacePrefix()(Code) | | the normally ussed namespace prefix for this kind of node (ex. "fo" for XSL-FO) |
getParent | public FONode getParent()(Code) | | the parent node of this node |
getRoot | public Root getRoot()(Code) | | Returns the root node of this tree
the root node |
getUserAgent | public FOUserAgent getUserAgent()(Code) | | Returns the user agent for the node.
FOUserAgent |
inMarker | protected boolean inMarker()(Code) | | |
invalidChildError | protected void invalidChildError(Locator loc, String nsURI, String lName) throws ValidationException(Code) | | Helper function to return "invalid child" exceptions
(e.g., fo:block appearing immediately under fo:root)
Parameters: loc - org.xml.sax.Locator object of the error (*not* parent node) Parameters: nsURI - namespace URI of incoming invalid node Parameters: lName - local name (i.e., no prefix) of incoming node throws: ValidationException - the validation error provoked by the method call |
invalidChildError | protected void invalidChildError(Locator loc, String nsURI, String lName, String ruleViolated) throws ValidationException(Code) | | Helper function to return "invalid child" exceptions with more
complex validation rules (i.e., needing more explanation of the problem)
Parameters: loc - org.xml.sax.Locator object of the error (*not* parent node) Parameters: nsURI - namespace URI of incoming invalid node Parameters: lName - local name (i.e., no prefix) of incoming node Parameters: ruleViolated - text explanation of problem throws: ValidationException - the validation error provoked by the method call |
missingChildElementError | protected void missingChildElementError(String contentModel) throws ValidationException(Code) | | Helper function to throw an error caused by missing mandatory child elements.
E.g., fo:layout-master-set not having any page-master child element.
Parameters: contentModel - The XSL Content Model for the fo: object or a similar description indicating the necessary child elements. throws: ValidationException - the validation error provoked by the method call |
missingPropertyError | protected void missingPropertyError(String propertyName) throws ValidationException(Code) | | Helper function to throw an error caused by missing mandatory properties
Parameters: propertyName - the name of the missing property. throws: ValidationException - the validation error provoked by the method call |
nodesOutOfOrderError | protected void nodesOutOfOrderError(Locator loc, String tooLateNode, String tooEarlyNode) throws ValidationException(Code) | | Helper function to standardize "out of order" exceptions
(e.g., fo:layout-master-set appearing after fo:page-sequence)
Parameters: loc - org.xml.sax.Locator object of the error (*not* parent node) Parameters: tooLateNode - string name of node that should be earlier in document Parameters: tooEarlyNode - string name of node that should be later in document throws: ValidationException - the validation error provoked by the method call |
processNode | public void processNode(String elementName, Locator locator, Attributes attlist, PropertyList pList) throws FOPException(Code) | | 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.
Parameters: elementName - element name (e.g., "fo:block") Parameters: locator - Locator object (ignored by default) Parameters: attlist - Collection of attributes passed to us from the parser. Parameters: pList - the property list of the parent node throws: FOPException - for errors or inconsistencies in the attributes |
removeChild | public void removeChild(FONode child)(Code) | | Removes a child node. Used by the child nodes to remove themselves, for
example table-body if it has no children.
Parameters: child - child node to be removed |
setLocator | public void setLocator(Locator locator)(Code) | | Set the location information for this element
Parameters: locator - the org.xml.sax.Locator object |
startOfNode | protected void startOfNode() throws FOPException(Code) | | Called after processNode() is called. Subclasses can do additional processing.
throws: FOPException - if there's a problem during processing |
tooManyNodesError | protected void tooManyNodesError(Locator loc, String nsURI, String lName) throws ValidationException(Code) | | Helper function to standardize "too many" error exceptions
(e.g., two fo:declarations within fo:root)
Parameters: loc - org.xml.sax.Locator object of the error (*not* parent node) Parameters: nsURI - namespace URI of incoming invalid node Parameters: lName - local name (i.e., no prefix) of incoming node throws: ValidationException - the validation error provoked by the method call |
tooManyNodesError | protected void tooManyNodesError(Locator loc, String offendingNode) throws ValidationException(Code) | | Helper function to standardize "too many" error exceptions
(e.g., two fo:declarations within fo:root)
This overrloaded method helps make the caller code better self-documenting
Parameters: loc - org.xml.sax.Locator object of the error (*not* parent node) Parameters: offendingNode - incoming node that would cause a duplication. throws: ValidationException - the validation error provoked by the method call |
validateChildNode | protected void validateChildNode(Locator loc, String namespaceURI, String localName) throws ValidationException(Code) | | Checks to make sure, during SAX processing of input document, that the
incoming node is valid for the this (parent) node (e.g., checking to
see that fo:table is not an immediate child of fo:root)
called within FObj constructor
Parameters: loc - location in the FO source file Parameters: namespaceURI - namespace of incoming node Parameters: localName - (e.g. "table" for "fo:table") throws: ValidationException - if incoming node not valid for parent |
warningText | protected static String warningText(Locator loc)(Code) | | Helper function to return "Warning(line#/column#)" string for
warning messages
Parameters: loc - org.xml.sax.Locator object String opening warning text |
|
|