fop 1.0

org.apache.fop.fo
Class FOText

java.lang.Object
  extended by org.apache.fop.fo.FONode
      extended by org.apache.fop.fo.FOText
All Implemented Interfaces:
java.lang.CharSequence, java.lang.Cloneable

public class FOText
extends FONode
implements java.lang.CharSequence

A text node (PCDATA) in the formatting object tree.


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, parent, siblings
 
Constructor Summary
FOText(FONode parent)
          Creates a new FO text node.
 
Method Summary
 void bind(PropertyList pList)
          Bind the given PropertyList to this node Does nothing by default.
protected  void characters(char[] data, int start, int length, PropertyList list, org.xml.sax.Locator locator)
          Adds characters.
 char charAt(int position)
          
 CharIterator charIterator()
          Return a CharIterator over all characters in this node
 FONode clone(FONode parent, boolean removeChildren)
          Performs a shallow cloning operation, sets the clone's parent, and optionally cleans the list of child nodes
protected  void createBlockPointers(Block ancestorBlock)
          This method is run as part of the ancestor Block's flushText(), to create xref pointers to the previous FOText objects within the same Block
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.
 void finalizeNode()
          Finalize this node.
protected  java.lang.String gatherContextInfo()
          Gathers context information for the getContextInfo() method.
 Block getAncestorBlock()
           
 Length getBaseLineShift()
           
 char[] getCharArray()
          Return the array of characters for this instance.
 java.awt.Color getColor()
           
 CommonFont getCommonFont()
           
 CommonHyphenation getCommonHyphenation()
           
 KeepProperty getKeepTogether()
           
 Property getLetterSpacing()
           
 SpaceProperty getLineHeight()
           
 java.lang.String getLocalName()
          Returns the local name (i.e.
 FOText getNextFOTextThisBlock()
           
 java.lang.String getNormalNamespacePrefix()
          Returns the normally used namespace prefix for this node
 FOText getPrevFOTextThisBlock()
           
 CommonTextDecoration getTextDecoration()
           
 int getWhitespaceTreatment()
           
 Property getWordSpacing()
           
 int getWrapOption()
           
 int length()
          
 void resetBuffer()
          Resets the backing java.nio.CharBuffer
 java.lang.CharSequence subSequence(int start, int end)
          
 java.lang.String toString()
          
 boolean willCreateArea()
          Check if this text node will create an area.
 
Methods inherited from class org.apache.fop.fo.FONode
addCharacters, addChildNode, attachSiblings, canHaveMarkers, clone, createPropertyList, decorateWithContextInfo, errorText, getBuilderContext, getChildNodes, getChildNodes, getContentHandlerFactory, getContextInfo, getContextInfoAlt, getExtensionAttachment, getFOEventHandler, getFOValidationEventProducer, getLocator, getLocatorString, getLogger, getName, getName, getNameId, getNamespaceURI, getNodeString, getParent, getRoot, getUserAgent, inMarker, invalidChildError, invalidChildError, missingChildElementError, missingChildElementError, missingPropertyError, nodesOutOfOrderError, nodesOutOfOrderError, processNode, removeChild, setLocator, startOfNode, tooManyNodesError, tooManyNodesError, tooManyNodesError, validateChildNode, validateChildNode, warningText
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

FOText

public FOText(FONode parent)
Creates a new FO text node.

Parameters:
parent - FONode that is the parent of this object
Method Detail

characters

protected void characters(char[] data,
                          int start,
                          int length,
                          PropertyList list,
                          org.xml.sax.Locator locator)
                   throws FOPException
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
list - currently applicable PropertyList
locator - location in the XSL-FO source file.
Throws:
FOPException - if there's a problem during processing

getCharArray

public char[] getCharArray()
Return the array of characters for this instance.

Returns:
a char array containing the text

clone

public FONode clone(FONode parent,
                    boolean removeChildren)
             throws FOPException
Performs a shallow cloning operation, sets the clone's parent, and optionally cleans the list of child nodes

Overrides:
clone in class FONode
Parameters:
parent - the intended parent of the clone
removeChildren - if true, clean the list of child nodes
Returns:
the cloned FO node
Throws:
FOPException - if there's a problem while cloning the node

bind

public void bind(PropertyList pList)
          throws FOPException
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.

Overrides:
bind in class FONode
Parameters:
pList - the PropertyList
Throws:
FOPException - if there was an error when processing the PropertyList

endOfNode

protected 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

finalizeNode

public void finalizeNode()
Finalize this node. This method can be overridden by subclasses to perform finishing tasks (cleanup, validation checks, ...) without triggering endXXX() events in the FOEventHandler. The method is called by the default FONode.endOfNode() implementation.

Overrides:
finalizeNode in class FONode

willCreateArea

public boolean willCreateArea()
Check if this text node will create an area. This means either there is non-whitespace or it is preserved whitespace. Maybe this just needs to check length > 0, since char iterators handle whitespace.

Returns:
true if this will create an area in the output

charIterator

public CharIterator charIterator()
Description copied from class: FONode
Return a CharIterator over all characters in this node

Overrides:
charIterator in class FONode
Returns:
a new TextCharIterator

createBlockPointers

protected void createBlockPointers(Block ancestorBlock)
This method is run as part of the ancestor Block's flushText(), to create xref pointers to the previous FOText objects within the same Block

Parameters:
ancestorBlock - the ancestor fo:block

getPrevFOTextThisBlock

public FOText getPrevFOTextThisBlock()
Returns:
The previous FOText node in this Block; null, if this is the first FOText in this Block.

getNextFOTextThisBlock

public FOText getNextFOTextThisBlock()
Returns:
The next FOText node in this Block; null if this is the last FOText in this Block; null if subsequent FOText nodes have not yet been processed.

getAncestorBlock

public Block getAncestorBlock()
Returns:
The nearest ancestor block object which contains this FOText.

getCommonFont

public CommonFont getCommonFont()
Returns:
the Common Font Properties.

getCommonHyphenation

public CommonHyphenation getCommonHyphenation()
Returns:
the Common Hyphenation Properties.

getColor

public java.awt.Color getColor()
Returns:
the "color" property.

getKeepTogether

public KeepProperty getKeepTogether()
Returns:
the "keep-together" property.

getLetterSpacing

public Property getLetterSpacing()
Returns:
the "letter-spacing" property.

getLineHeight

public SpaceProperty getLineHeight()
Returns:
the "line-height" property.

getWhitespaceTreatment

public int getWhitespaceTreatment()
Returns:
the "white-space-treatment" property

getWordSpacing

public Property getWordSpacing()
Returns:
the "word-spacing" property.

getWrapOption

public int getWrapOption()
Returns:
the "wrap-option" property.

getTextDecoration

public CommonTextDecoration getTextDecoration()
Returns:
the "text-decoration" property.

getBaseLineShift

public Length getBaseLineShift()
Returns:
the baseline-shift property

toString

public java.lang.String toString()

Specified by:
toString in interface java.lang.CharSequence
Overrides:
toString in class java.lang.Object

getLocalName

public java.lang.String getLocalName()
Returns the local name (i.e. without namespace prefix) of the node

Specified by:
getLocalName in class FONode
Returns:
the local name of 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)

gatherContextInfo

protected java.lang.String gatherContextInfo()
Gathers context information for the getContextInfo() method.

Overrides:
gatherContextInfo in class FONode
Returns:
the collected context information or null, if none is available

charAt

public char charAt(int position)

Specified by:
charAt in interface java.lang.CharSequence

subSequence

public java.lang.CharSequence subSequence(int start,
                                          int end)

Specified by:
subSequence in interface java.lang.CharSequence

length

public int length()

Specified by:
length in interface java.lang.CharSequence

resetBuffer

public void resetBuffer()
Resets the backing java.nio.CharBuffer


fop 1.0

Copyright 1999-2010 The Apache Software Foundation. All Rights Reserved.