Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| fop 2.2
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.fop.fo
Class FOText

    java.lang.Object
      org.apache.fop.fo.FONode
          org.apache.fop.fo.FOText

All Implemented Interfaces:
  java.lang.CharSequence, java.lang.Cloneable, TextFragment

    public class FOText

extends FONode
implements java.lang.CharSequence, TextFragment

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
`int` | `bidiLevelAt(int position)` Obtain bidirectional level of character at specified position, which must be a non-negative integer less than the length of this FO.
`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)` Obtain character at specified index within this fragment's sub-sequence, where index 0 corresponds to beginning index in overal text source, and subSequenceIndex must be less than ending index - beginning index.
`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 java.util.Stack<DelimitedTextRange>` | `collectDelimitedTextRanges(java.util.Stack<DelimitedTextRange> ranges, DelimitedTextRange currentRange)` Collect the sequence of delimited text ranges, where each new range is pushed onto RANGES, where default implementation collects ranges 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
`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.
`Length` | `getBaseLineShift()`
`int` | `getBeginIndex()` Obtain beginning index (inclusive) of sub-sequence of fragment in overall text source.
`int` | `getBidiLevel()` Obtain associated bidi level (if known) or -1 if not.
`int[]` | `getBidiLevels()` Obtain bidirectional level of each character represented by this FOText.
`int[]` | `getBidiLevels(int start, int end)` Obtain bidirectional level of each character over interval [start,end).
`java.lang.CharSequence` | `getCharSequence()` Return the array of characters for this instance.
`java.awt.Color` | `getColor()`
`CommonFont` | `getCommonFont()`
`CommonHyphenation` | `getCommonHyphenation()`
`java.lang.String` | `getCountry()`
`int` | `getEndIndex()` Obtain ending index (exclusive) of sub-sequence of fragment in overall text source.
`java.text.CharacterIterator` | `getIterator()` Obtain reference to underlying iterator.
`KeepProperty` | `getKeepTogether()`
`java.lang.String` | `getLanguage()` Obtain associated language (if designated) or "none" if not.
`Property` | `getLetterSpacing()`
`SpaceProperty` | `getLineHeight()`
`java.lang.String` | `getLocalName()` Returns the local name (i.e.
`java.lang.String` | `getNormalNamespacePrefix()` Returns the normally used namespace prefix for this node
`java.lang.String` | `getScript()` Obtain associated script (if designated) or "auto" if not.
`StructureTreeElement` | `getStructureTreeElement()` Returns the structure tree element associated to this object.
`CommonTextDecoration` | `getTextDecoration()`
`int` | `getWhitespaceTreatment()`
`Property` | `getWordSpacing()`
`int` | `getWrapOption()`
`boolean` | `isDelimitedTextRangeBoundary(int boundary)` Determine if node has a delimited text range boundary.
`int` | `length()`
`void` | `resetBuffer()` Resets the backing `java.nio.CharBuffer`
`void` | `setBidiLevel(int level, int start, int end)` Set bidirectional level over interval [start,end).
`void` | `setStructureTreeElement(StructureTreeElement structureTreeElement)` Sets the structure tree element.
`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, collectDelimitedTextRanges, createPropertyList, decorateWithContextInfo, errorText, getBuilderContext, getChildNodes, getChildNodes, getContentHandlerFactory, getContextInfo, getContextInfoAlt, getExtensionAttachment, getFOEventHandler, getFOValidationEventProducer, getLocator, getLocatorString, getLogger, getName, getName, getNameId, getNamespaceURI, getNodePrefix, getNodeString, getParent, getRoot, getUserAgent, inMarker, invalidChildError, invalidChildError, invalidPropertyValueError, isBidiRangeBlockItem, missingChildElementError, missingChildElementError, missingPropertyError, nodesOutOfOrderError, nodesOutOfOrderError, notSupportedChildError, 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

### getCharSequence

    public java.lang.CharSequence getCharSequence()

  Return the array of characters for this instance.

  Returns:
    a char sequence 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

    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

### 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

### 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" trait.

### getKeepTogether

    public KeepProperty getKeepTogether()

  Returns:
    the "keep-together" trait.

### getLetterSpacing

    public Property getLetterSpacing()

  Returns:
    the "letter-spacing" trait.

### getLineHeight

    public SpaceProperty getLineHeight()

  Returns:
    the "line-height" trait.

### getWhitespaceTreatment

    public int getWhitespaceTreatment()

  Returns:
    the "white-space-treatment" trait

### getWordSpacing

    public Property getWordSpacing()

  Returns:
    the "word-spacing" trait.

### getWrapOption

    public int getWrapOption()

  Returns:
    the "wrap-option" trait.

### getTextDecoration

    public CommonTextDecoration getTextDecoration()

  Returns:
    the "text-decoration" trait.

### getBaseLineShift

    public Length getBaseLineShift()

  Returns:
    the baseline-shift trait

### getCountry

    public java.lang.String getCountry()

  Returns:
    the country trait

### getIterator

    public java.text.CharacterIterator getIterator()

  Description copied from interface: `TextFragment`
  Obtain reference to underlying iterator.

  Specified by:
    `getIterator` in interface `TextFragment`

### getBeginIndex

    public int getBeginIndex()

  Description copied from interface: `TextFragment`
  Obtain beginning index (inclusive) of sub-sequence of fragment in overall text source.

  Specified by:
    `getBeginIndex` in interface `TextFragment`

### getEndIndex

    public int getEndIndex()

  Description copied from interface: `TextFragment`
  Obtain ending index (exclusive) of sub-sequence of fragment in overall text source.

  Specified by:
    `getEndIndex` in interface `TextFragment`

### getLanguage

    public java.lang.String getLanguage()

  Description copied from interface: `TextFragment`
  Obtain associated language (if designated) or "none" if not.

  Specified by:
    `getLanguage` in interface `TextFragment`

### getScript

    public java.lang.String getScript()

  Description copied from interface: `TextFragment`
  Obtain associated script (if designated) or "auto" if not.

  Specified by:
    `getScript` in interface `TextFragment`

### getBidiLevel

    public int getBidiLevel()

  Description copied from interface: `TextFragment`
  Obtain associated bidi level (if known) or -1 if not.

  Specified by:
    `getBidiLevel` in interface `TextFragment`

### 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)

  Obtain character at specified index within this fragment's sub-sequence, where index 0 corresponds to beginning index in overal text source, and subSequenceIndex must be less than ending index - beginning index.

  Specified by:
    `charAt` in interface `java.lang.CharSequence`
  Specified by:
    `charAt` in interface `TextFragment`

### subSequence

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

  Specified by:
    `subSequence` in interface `java.lang.CharSequence`
  Specified by:
    `subSequence` in interface `TextFragment`

### length

    public int length()

  Specified by:
    `length` in interface `java.lang.CharSequence`

### resetBuffer

    public void resetBuffer()

  Resets the backing `java.nio.CharBuffer`

### isDelimitedTextRangeBoundary

    public boolean isDelimitedTextRangeBoundary(int boundary)

  Description copied from class: `FONode`
  Determine if node has a delimited text range boundary. N.B. that we report this to be true by default, while specific subclasses override this method to report false.

  Overrides:
    `isDelimitedTextRangeBoundary` in class `FONode`
  Parameters:
    `boundary` - one of {EN_BEFORE, EN_AFTER, or EN_BOTH} enumeration constants
  Returns:
    true if indicated boundary (or boundaries) constitute a delimited text range boundary.

### setStructureTreeElement

    public void setStructureTreeElement(StructureTreeElement structureTreeElement)

  Description copied from class: `FONode`
  Sets the structure tree element.

  Overrides:
    `setStructureTreeElement` in class `FONode`
  Parameters:
    `structureTreeElement` - set.

### getStructureTreeElement

    public StructureTreeElement getStructureTreeElement()

  Description copied from class: `FONode`
  Returns the structure tree element associated to this object.

  Overrides:
    `getStructureTreeElement` in class `FONode`
  Returns:
    the structure tree element

### setBidiLevel

    public void setBidiLevel(int level,
                             int start,
                             int end)

  Set bidirectional level over interval [start,end).

  Parameters:
    `level` - the resolved level
    `start` - the starting index of interval
    `end` - the ending index of interval

### getBidiLevels

    public int[] getBidiLevels()

  Obtain bidirectional level of each character represented by this FOText.

  Returns:
    a (possibly empty) array of bidi levels or null in case no bidi levels have been assigned

### getBidiLevels

    public int[] getBidiLevels(int start,
                               int end)

  Obtain bidirectional level of each character over interval [start,end).

  Parameters:
    `start` - the starting index of interval
    `end` - the ending index of interval
  Returns:
    a (possibly empty) array of bidi levels or null in case no bidi levels have been assigned

### bidiLevelAt

    public int bidiLevelAt(int position)
                    throws java.lang.IndexOutOfBoundsException

  Obtain bidirectional level of character at specified position, which must be a non-negative integer less than the length of this FO.

  Parameters:
    `position` - an offset position into FO's characters
  Returns:
    a resolved bidi level or -1 if default
  Throws:
    `java.lang.IndexOutOfBoundsException` - if position is not non-negative integer or is greater than or equal to length

### collectDelimitedTextRanges

    protected java.util.Stack<DelimitedTextRange> collectDelimitedTextRanges(java.util.Stack<DelimitedTextRange> ranges,
                                                                             DelimitedTextRange currentRange)

  Description copied from class: `FONode`
  Collect the sequence of delimited text ranges, where each new range is pushed onto RANGES, where default implementation collects ranges of child nodes.

  Overrides:
    `collectDelimitedTextRanges` in class `FONode`
  Parameters:
    `ranges` - a stack of delimited text ranges
    `currentRange` - the current range or null (if none)
  Returns:
    the (possibly) updated stack of delimited text ranges

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| fop 2.2
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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