fop 1.0

org.apache.fop.fo
Class FObj

java.lang.Object
  extended by org.apache.fop.fo.FONode
      extended by org.apache.fop.fo.FObj
All Implemented Interfaces:
java.lang.Cloneable, Constants
Direct Known Subclasses:
AbstractGraphics, AbstractListItemPart, AbstractPageNumberCitation, AbstractPageSequence, BlockContainer, Bookmark, BookmarkTitle, BookmarkTree, Character, ColorProfile, ConditionalPageMasterReference, Declarations, ExtensionObj, Float, Flow, FObjMixed, Footnote, FootnoteBody, InitialPropertySet, InlineContainer, LayoutMasterSet, ListBlock, ListItem, MultiCase, MultiProperties, MultiPropertySet, MultiSwitch, MultiToggle, PageNumber, PageSequenceMaster, PageSequenceWrapper, Region, RepeatablePageMasterAlternatives, RepeatablePageMasterReference, Root, SimplePageMaster, SinglePageMasterReference, TableAndCaption, TableCaption, TableFObj

public abstract class FObj
extends FONode
implements Constants

Base class for representation of formatting objects and their processing. All standard formatting object classes extend this class.


Nested Class Summary
 class FObj.FObjIterator
          Basic FONodeIterator implementation
 
Nested classes/interfaces inherited from class org.apache.fop.fo.FONode
FONode.FONodeIterator, FONode.GatherContextInfoFunction
 
Field Summary
protected  FONode firstChild
          pointer to the descendant subtree
 
Fields inherited from class org.apache.fop.fo.FONode
FO_URI, FOX_URI, locator, log, parent, siblings
 
Fields inherited from interface org.apache.fop.fo.Constants
COMPOUND_COUNT, COMPOUND_MASK, COMPOUND_SHIFT, CP_BLOCK_PROGRESSION_DIRECTION, CP_CONDITIONALITY, CP_INLINE_PROGRESSION_DIRECTION, CP_LENGTH, CP_MAXIMUM, CP_MINIMUM, CP_OPTIMUM, CP_PRECEDENCE, CP_WITHIN_COLUMN, CP_WITHIN_LINE, CP_WITHIN_PAGE, EN_100, EN_200, EN_300, EN_400, EN_500, EN_600, EN_700, EN_800, EN_900, EN_ABSOLUTE, EN_ABSOLUTE_COLORMETRIC, EN_AFTER, EN_AFTER_EDGE, EN_ALL, EN_ALPHABETIC, EN_ALTERNATE, EN_ALWAYS, EN_ANY, EN_AUTO, EN_AUTO_EVEN, EN_AUTO_ODD, EN_AVOID, EN_BACKSLANT, EN_BASELINE, EN_BEFORE, EN_BEFORE_EDGE, EN_BIDI_OVERRIDE, EN_BLANK, EN_BLINK, EN_BLOCK, EN_BOLDER, EN_BOTH, EN_BOTTOM, EN_BOUNDED_IN_ONE_DIMENSION, EN_CAPITALIZE, EN_CAPTION, EN_CENTER, EN_CENTRAL, EN_CHARACTER_BY_CHARACTER, EN_COLLAPSE, EN_COLLAPSE_WITH_PRECEDENCE, EN_COLUMN, EN_CONDENSED, EN_CONSIDER_SHIFTS, EN_DASHED, EN_DISCARD, EN_DISREGARD_SHIFTS, EN_DOCUMENT, EN_DOTS, EN_DOTTED, EN_DOUBLE, EN_EMBED, EN_END, EN_END_ON_EVEN, EN_END_ON_ODD, EN_ERROR_IF_OVERFLOW, EN_EVEN, EN_EVEN_PAGE, EN_EXPANDED, EN_EXTRA_CONDENSED, EN_EXTRA_EXPANDED, EN_FALSE, EN_FIC, EN_FIRST, EN_FIRST_STARTING, EN_FIXED, EN_FONT_HEIGHT, EN_FORCE, EN_FSWP, EN_GROOVE, EN_HANGING, EN_HIDDEN, EN_HIDE, EN_ICON, EN_IDEOGRAPHIC, EN_IGNORE, EN_IGNORE_IF_AFTER_LINEFEED, EN_IGNORE_IF_BEFORE_LINEFEED, EN_IGNORE_IF_SURROUNDING_LINEFEED, EN_INDEFINITE, EN_INDENT, EN_INHERIT, EN_INSET, EN_INSIDE, EN_INTEGER_PIXELS, EN_ITALIC, EN_JUSTIFY, EN_LARGER, EN_LAST, EN_LAST_ENDING, EN_LAST_STARTING, EN_LEAVE_SEPARATE, EN_LEFT, EN_LEWP, EN_LIGHTER, EN_LINE, EN_LINE_HEIGHT, EN_LINE_THROUGH, EN_LINK, EN_LOWERCASE, EN_LR_TB, EN_LSWP, EN_LTR, EN_MATHEMATICAL, EN_MAX_HEIGHT, EN_MENU, EN_MERGE, EN_MESSAGE_BOX, EN_MIDDLE, EN_NARROWER, EN_NEW, EN_NO_BLINK, EN_NO_CHANGE, EN_NO_FORCE, EN_NO_LIMIT, EN_NO_LINE_THROUGH, EN_NO_LINK, EN_NO_OVERLINE, EN_NO_UNDERLINE, EN_NO_WRAP, EN_NON_UNIFORM, EN_NONE, EN_NOREPEAT, EN_NORMAL, EN_NOT_BLANK, EN_OBLIQUE, EN_ODD, EN_ODD_PAGE, EN_ONLY, EN_OUTSET, EN_OUTSIDE, EN_OVERLINE, EN_PAGE, EN_PAGE_SEQUENCE, EN_PAGINATE, EN_PERCEPTUAL, EN_PRE, EN_PRESERVE, EN_REFERENCE_AREA, EN_RELATIVE, EN_RELATIVE_COLOMETRIC, EN_REPEAT, EN_REPEATX, EN_REPEATY, EN_REPLACE, EN_RESAMPLE_ANY_METHOD, EN_RESET_SIZE, EN_REST, EN_RETAIN, EN_RIDGE, EN_RIGHT, EN_RL_TB, EN_RTL, EN_RULE, EN_SATURATION, EN_SCALE_DOWN_TO_FIT, EN_SCALE_TO_FIT, EN_SCALE_UP_TO_FIT, EN_SCROLL, EN_SEMI_CONDENSED, EN_SEMI_EXPANDED, EN_SEPARATE, EN_SHOW, EN_SMALL_CAPS, EN_SMALL_CAPTION, EN_SMALLER, EN_SOLID, EN_SPACE, EN_START, EN_STATIC, EN_STATUS_BAR, EN_SUB, EN_SUPER, EN_SUPPRESS, EN_TABLE, EN_TABLE_FRAGMENT, EN_TB_RL, EN_TEXT_AFTER_EDGE, EN_TEXT_BEFORE_EDGE, EN_TEXT_BOTTOM, EN_TEXT_TOP, EN_TOP, EN_TRADITIONAL, EN_TREAT_AS_SPACE, EN_TREAT_AS_ZERO_WIDTH_SPACE, EN_TRUE, EN_ULTRA_CONDENSED, EN_ULTRA_EXPANDED, EN_UNBOUNDED, EN_UNDERLINE, EN_UNIFORM, EN_UPPERCASE, EN_USE_FONT_METRICS, EN_USE_SCRIPT, EN_USECONTENT, EN_VISIBLE, EN_WIDER, EN_WRAP, EN_X_DISTRIBUTE, EN_X_FILL, ENUM_COUNT, FO_BASIC_LINK, FO_BIDI_OVERRIDE, FO_BLOCK, FO_BLOCK_CONTAINER, FO_BOOKMARK, FO_BOOKMARK_TITLE, FO_BOOKMARK_TREE, FO_CHANGE_BAR_BEGIN, FO_CHANGE_BAR_END, FO_CHARACTER, FO_COLOR_PROFILE, FO_CONDITIONAL_PAGE_MASTER_REFERENCE, FO_DECLARATIONS, FO_EXTERNAL_GRAPHIC, FO_FLOAT, FO_FLOW, FO_FLOW_ASSIGNMENT, FO_FLOW_MAP, FO_FLOW_NAME_SPECIFIER, FO_FLOW_SOURCE_LIST, FO_FLOW_TARGET_LIST, FO_FOLIO_PREFIX, FO_FOLIO_SUFFIX, FO_FOOTNOTE, FO_FOOTNOTE_BODY, FO_INDEX_KEY_REFERENCE, FO_INDEX_PAGE_CITATION_LIST, FO_INDEX_PAGE_CITATION_LIST_SEPARATOR, FO_INDEX_PAGE_CITATION_RANGE_SEPARATOR, FO_INDEX_PAGE_NUMBER_PREFIX, FO_INDEX_PAGE_NUMBER_SUFFIX, FO_INDEX_RANGE_BEGIN, FO_INDEX_RANGE_END, FO_INITIAL_PROPERTY_SET, FO_INLINE, FO_INLINE_CONTAINER, FO_INSTREAM_FOREIGN_OBJECT, FO_LAYOUT_MASTER_SET, FO_LEADER, FO_LIST_BLOCK, FO_LIST_ITEM, FO_LIST_ITEM_BODY, FO_LIST_ITEM_LABEL, FO_MARKER, FO_MULTI_CASE, FO_MULTI_PROPERTIES, FO_MULTI_PROPERTY_SET, FO_MULTI_SWITCH, FO_MULTI_TOGGLE, FO_PAGE_NUMBER, FO_PAGE_NUMBER_CITATION, FO_PAGE_NUMBER_CITATION_LAST, FO_PAGE_SEQUENCE, FO_PAGE_SEQUENCE_MASTER, FO_PAGE_SEQUENCE_WRAPPER, FO_REGION_AFTER, FO_REGION_BEFORE, FO_REGION_BODY, FO_REGION_END, FO_REGION_NAME_SPECIFIER, FO_REGION_START, FO_REPEATABLE_PAGE_MASTER_ALTERNATIVES, FO_REPEATABLE_PAGE_MASTER_REFERENCE, FO_RETRIEVE_MARKER, FO_RETRIEVE_TABLE_MARKER, FO_ROOT, FO_SCALING_VALUE_CITATION, FO_SIMPLE_PAGE_MASTER, FO_SINGLE_PAGE_MASTER_REFERENCE, FO_STATIC_CONTENT, FO_TABLE, FO_TABLE_AND_CAPTION, FO_TABLE_BODY, FO_TABLE_CAPTION, FO_TABLE_CELL, FO_TABLE_COLUMN, FO_TABLE_FOOTER, FO_TABLE_HEADER, FO_TABLE_ROW, FO_TITLE, FO_UNKNOWN_NODE, FO_WRAPPER, FRM_OBJ_COUNT, NOT_SET, PR_ABSOLUTE_POSITION, PR_ACTIVE_STATE, PR_ALIGNMENT_ADJUST, PR_ALIGNMENT_BASELINE, PR_AUTO_RESTORE, PR_AZIMUTH, PR_BACKGROUND, PR_BACKGROUND_ATTACHMENT, PR_BACKGROUND_COLOR, PR_BACKGROUND_IMAGE, PR_BACKGROUND_POSITION, PR_BACKGROUND_POSITION_HORIZONTAL, PR_BACKGROUND_POSITION_VERTICAL, PR_BACKGROUND_REPEAT, PR_BASELINE_SHIFT, PR_BLANK_OR_NOT_BLANK, PR_BLOCK_PROGRESSION_DIMENSION, PR_BORDER, PR_BORDER_AFTER_COLOR, PR_BORDER_AFTER_PRECEDENCE, PR_BORDER_AFTER_STYLE, PR_BORDER_AFTER_WIDTH, PR_BORDER_BEFORE_COLOR, PR_BORDER_BEFORE_PRECEDENCE, PR_BORDER_BEFORE_STYLE, PR_BORDER_BEFORE_WIDTH, PR_BORDER_BOTTOM, PR_BORDER_BOTTOM_COLOR, PR_BORDER_BOTTOM_STYLE, PR_BORDER_BOTTOM_WIDTH, PR_BORDER_COLLAPSE, PR_BORDER_COLOR, PR_BORDER_END_COLOR, PR_BORDER_END_PRECEDENCE, PR_BORDER_END_STYLE, PR_BORDER_END_WIDTH, PR_BORDER_LEFT, PR_BORDER_LEFT_COLOR, PR_BORDER_LEFT_STYLE, PR_BORDER_LEFT_WIDTH, PR_BORDER_RIGHT, PR_BORDER_RIGHT_COLOR, PR_BORDER_RIGHT_STYLE, PR_BORDER_RIGHT_WIDTH, PR_BORDER_SEPARATION, PR_BORDER_SPACING, PR_BORDER_START_COLOR, PR_BORDER_START_PRECEDENCE, PR_BORDER_START_STYLE, PR_BORDER_START_WIDTH, PR_BORDER_STYLE, PR_BORDER_TOP, PR_BORDER_TOP_COLOR, PR_BORDER_TOP_STYLE, PR_BORDER_TOP_WIDTH, PR_BORDER_WIDTH, PR_BOTTOM, PR_BREAK_AFTER, PR_BREAK_BEFORE, PR_CAPTION_SIDE, PR_CASE_NAME, PR_CASE_TITLE, PR_CHANGE_BAR_CLASS, PR_CHANGE_BAR_COLOR, PR_CHANGE_BAR_OFFSET, PR_CHANGE_BAR_PLACEMENT, PR_CHANGE_BAR_STYLE, PR_CHANGE_BAR_WIDTH, PR_CHARACTER, PR_CLEAR, PR_CLIP, PR_COLOR, PR_COLOR_PROFILE_NAME, PR_COLUMN_COUNT, PR_COLUMN_GAP, PR_COLUMN_NUMBER, PR_COLUMN_WIDTH, PR_CONTENT_HEIGHT, PR_CONTENT_TYPE, PR_CONTENT_WIDTH, PR_COUNTRY, PR_CUE, PR_CUE_AFTER, PR_CUE_BEFORE, PR_DESTINATION_PLACEMENT_OFFSET, PR_DIRECTION, PR_DISPLAY_ALIGN, PR_DOMINANT_BASELINE, PR_ELEVATION, PR_EMPTY_CELLS, PR_END_INDENT, PR_ENDS_ROW, PR_EXTENT, PR_EXTERNAL_DESTINATION, PR_FLOAT, PR_FLOW_MAP_NAME, PR_FLOW_MAP_REFERENCE, PR_FLOW_NAME, PR_FLOW_NAME_REFERENCE, PR_FONT, PR_FONT_FAMILY, PR_FONT_SELECTION_STRATEGY, PR_FONT_SIZE, PR_FONT_SIZE_ADJUST, PR_FONT_STRETCH, PR_FONT_STYLE, PR_FONT_VARIANT, PR_FONT_WEIGHT, PR_FORCE_PAGE_COUNT, PR_FORMAT, PR_GLYPH_ORIENTATION_HORIZONTAL, PR_GLYPH_ORIENTATION_VERTICAL, PR_GROUPING_SEPARATOR, PR_GROUPING_SIZE, PR_HEIGHT, PR_HYPHENATE, PR_HYPHENATION_CHARACTER, PR_HYPHENATION_KEEP, PR_HYPHENATION_LADDER_COUNT, PR_HYPHENATION_PUSH_CHARACTER_COUNT, PR_HYPHENATION_REMAIN_CHARACTER_COUNT, PR_ID, PR_INDEX_CLASS, PR_INDEX_KEY, PR_INDICATE_DESTINATION, PR_INITIAL_PAGE_NUMBER, PR_INLINE_PROGRESSION_DIMENSION, PR_INTERNAL_DESTINATION, PR_INTRINSIC_SCALE_VALUE, PR_INTRUSION_DISPLACE, PR_KEEP_TOGETHER, PR_KEEP_WITH_NEXT, PR_KEEP_WITH_PREVIOUS, PR_LANGUAGE, PR_LAST_LINE_END_INDENT, PR_LEADER_ALIGNMENT, PR_LEADER_LENGTH, PR_LEADER_PATTERN, PR_LEADER_PATTERN_WIDTH, PR_LEFT, PR_LETTER_SPACING, PR_LETTER_VALUE, PR_LINE_HEIGHT, PR_LINE_HEIGHT_SHIFT_ADJUSTMENT, PR_LINE_STACKING_STRATEGY, PR_LINEFEED_TREATMENT, PR_MARGIN, PR_MARGIN_BOTTOM, PR_MARGIN_LEFT, PR_MARGIN_RIGHT, PR_MARGIN_TOP, PR_MARKER_CLASS_NAME, PR_MASTER_NAME, PR_MASTER_REFERENCE, PR_MAX_HEIGHT, PR_MAX_WIDTH, PR_MAXIMUM_REPEATS, PR_MEDIA_USAGE, PR_MERGE_PAGES_ACROSS_INDEX_KEY_REFERENCES, PR_MERGE_RANGES_ACROSS_INDEX_KEY_REFERENCES, PR_MERGE_SEQUENTIAL_PAGE_NUMBERS, PR_MIN_HEIGHT, PR_MIN_WIDTH, PR_NUMBER_COLUMNS_REPEATED, PR_NUMBER_COLUMNS_SPANNED, PR_NUMBER_ROWS_SPANNED, PR_ODD_OR_EVEN, PR_ORPHANS, PR_OVERFLOW, PR_PADDING, PR_PADDING_AFTER, PR_PADDING_BEFORE, PR_PADDING_BOTTOM, PR_PADDING_END, PR_PADDING_LEFT, PR_PADDING_RIGHT, PR_PADDING_START, PR_PADDING_TOP, PR_PAGE_BREAK_AFTER, PR_PAGE_BREAK_BEFORE, PR_PAGE_BREAK_INSIDE, PR_PAGE_CITATION_STRATEGY, PR_PAGE_HEIGHT, PR_PAGE_NUMBER_TREATMENT, PR_PAGE_POSITION, PR_PAGE_WIDTH, PR_PAUSE, PR_PAUSE_AFTER, PR_PAUSE_BEFORE, PR_PITCH, PR_PITCH_RANGE, PR_PLAY_DURING, PR_POSITION, PR_PRECEDENCE, PR_PROVISIONAL_DISTANCE_BETWEEN_STARTS, PR_PROVISIONAL_LABEL_SEPARATION, PR_REF_ID, PR_REF_INDEX_KEY, PR_REFERENCE_ORIENTATION, PR_REGION_NAME, PR_REGION_NAME_REFERENCE, PR_RELATIVE_ALIGN, PR_RELATIVE_POSITION, PR_RENDERING_INTENT, PR_RETRIEVE_BOUNDARY, PR_RETRIEVE_BOUNDARY_WITHIN_TABLE, PR_RETRIEVE_CLASS_NAME, PR_RETRIEVE_POSITION, PR_RETRIEVE_POSITION_WITHIN_TABLE, PR_RICHNESS, PR_RIGHT, PR_ROLE, PR_RULE_STYLE, PR_RULE_THICKNESS, PR_SCALING, PR_SCALING_METHOD, PR_SCORE_SPACES, PR_SCRIPT, PR_SHOW_DESTINATION, PR_SIZE, PR_SOURCE_DOCUMENT, PR_SPACE_AFTER, PR_SPACE_BEFORE, PR_SPACE_END, PR_SPACE_START, PR_SPAN, PR_SPEAK, PR_SPEAK_HEADER, PR_SPEAK_NUMERAL, PR_SPEAK_PUNCTUATION, PR_SPEECH_RATE, PR_SRC, PR_START_INDENT, PR_STARTING_STATE, PR_STARTS_ROW, PR_STRESS, PR_SUPPRESS_AT_LINE_BREAK, PR_SWITCH_TO, PR_TABLE_LAYOUT, PR_TABLE_OMIT_FOOTER_AT_BREAK, PR_TABLE_OMIT_HEADER_AT_BREAK, PR_TARGET_PRESENTATION_CONTEXT, PR_TARGET_PROCESSING_CONTEXT, PR_TARGET_STYLESHEET, PR_TEXT_ALIGN, PR_TEXT_ALIGN_LAST, PR_TEXT_ALTITUDE, PR_TEXT_DECORATION, PR_TEXT_DEPTH, PR_TEXT_INDENT, PR_TEXT_SHADOW, PR_TEXT_TRANSFORM, PR_TOP, PR_TREAT_AS_WORD_SPACE, PR_UNICODE_BIDI, PR_VERTICAL_ALIGN, PR_VISIBILITY, PR_VOICE_FAMILY, PR_VOLUME, PR_WHITE_SPACE, PR_WHITE_SPACE_COLLAPSE, PR_WHITE_SPACE_TREATMENT, PR_WIDOWS, PR_WIDTH, PR_WORD_SPACING, PR_WRAP_OPTION, PR_WRITING_MODE, PR_X_ALT_TEXT, PR_X_BLOCK_PROGRESSION_UNIT, PR_X_DISABLE_COLUMN_BALANCING, PR_X_ORPHAN_CONTENT_LIMIT, PR_X_PTR, PR_X_WIDOW_CONTENT_LIMIT, PR_XML_LANG, PR_Z_INDEX, PROPERTY_COUNT, PROPERTY_MASK
 
Constructor Summary
FObj(FONode parent)
          Create a new formatting object.
 
Method Summary
protected  void addChildNode(FONode child)
          Adds a node as a child of this node.
protected static void addChildTo(FONode child, FONode parent)
          Used by RetrieveMarker during Marker-subtree cloning
 void addForeignAttribute(org.apache.xmlgraphics.util.QName attributeName, java.lang.String value)
          Adds a foreign attribute to this FObj.
protected  void addMarker(Marker marker)
          Add the marker to this formatting object.
 void bind(PropertyList pList)
          Bind property values from the property list to the FO node.
 void clearChildNodes()
          Clears the list of child nodes.
 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  PropertyList createPropertyList(PropertyList parent, FOEventHandler foEventHandler)
          Create a default property list for this element.
protected  int findAncestor(int ancestorID)
          Convenience method for validity checking.
 FObj findNearestAncestorFObj()
          Find the nearest parent, grandparent, etc.
protected  java.lang.String gatherContextInfo()
          Gathers context information for the getContextInfo() method.
 boolean generatesReferenceAreas()
          Check if this formatting object generates reference areas.
 FONode.FONodeIterator getChildNodes()
          Return an iterator over all the child nodes of this node.
 FONode.FONodeIterator getChildNodes(FONode childNode)
          Return an iterator over the object's childNodes starting at the passed-in node (= first call to iterator.next() will return childNode)
protected  java.lang.String getContextInfoAlt()
          Returns a String containing as some context information about a node.
 java.util.List getExtensionAttachments()
           
 java.util.Map getForeignAttributes()
           
 java.lang.String getId()
           
 java.util.Map getMarkers()
           
 java.lang.String getNamespaceURI()
          Returns the namespace URI for this node
 java.lang.String getNormalNamespacePrefix()
          Returns the normally used namespace prefix for this node
static PropertyMaker getPropertyMakerFor(int propId)
          Returns the PropertyMaker for a given property ID.
 boolean hasChildren()
          Indicates whether this formatting object has children.
 boolean hasExtensionAttachments()
           
 boolean hasId()
           
 boolean hasMarkers()
           
protected  boolean isBlockItem(java.lang.String nsURI, java.lang.String lName)
          Convenience method for validity checking.
protected  boolean isBlockOrInlineItem(java.lang.String nsURI, java.lang.String lName)
          Convenience method for validity checking.
protected  boolean isInlineItem(java.lang.String nsURI, java.lang.String lName)
          Convenience method for validity checking.
 void processNode(java.lang.String elementName, org.xml.sax.Locator locator, org.xml.sax.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.
 void removeChild(FONode child)
          Removes a child node.
protected  void startOfNode()
          Called after processNode() is called.
 java.lang.String toString()
          
 
Methods inherited from class org.apache.fop.fo.FONode
addCharacters, attachSiblings, canHaveMarkers, characters, charIterator, clone, decorateWithContextInfo, endOfNode, errorText, finalizeNode, getBuilderContext, getContentHandlerFactory, getContextInfo, getExtensionAttachment, getFOEventHandler, getFOValidationEventProducer, getLocalName, getLocator, getLocatorString, getLogger, getName, getName, getNameId, getNodeString, getParent, getRoot, getUserAgent, inMarker, invalidChildError, invalidChildError, missingChildElementError, missingChildElementError, missingPropertyError, nodesOutOfOrderError, nodesOutOfOrderError, setLocator, tooManyNodesError, tooManyNodesError, tooManyNodesError, validateChildNode, validateChildNode, warningText
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

firstChild

protected FONode firstChild
pointer to the descendant subtree

Constructor Detail

FObj

public FObj(FONode parent)
Create a new formatting object.

Parameters:
parent - the parent node
Method Detail

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

getPropertyMakerFor

public static PropertyMaker getPropertyMakerFor(int propId)
Returns the PropertyMaker for a given property ID.

Parameters:
propId - the property ID
Returns:
the requested Property Maker

processNode

public void processNode(java.lang.String elementName,
                        org.xml.sax.Locator locator,
                        org.xml.sax.Attributes attlist,
                        PropertyList pList)
                 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.
pList - the property list of the parent node
Throws:
FOPException - for errors or inconsistencies in the attributes

createPropertyList

protected PropertyList createPropertyList(PropertyList parent,
                                          FOEventHandler foEventHandler)
                                   throws FOPException
Create a default property list for this element. Create a property list for this node. Return null if the node does not need a property list.

Overrides:
createPropertyList in class FONode
Parameters:
parent - the closest parent propertylist.
foEventHandler - The FOEventHandler where the PropertyListMaker instance can be found.
Returns:
A new property list.
Throws:
FOPException - if there's a problem during processing

bind

public void bind(PropertyList pList)
          throws FOPException
Bind property values from the property list to the FO node. Must be overridden in all FObj subclasses that have properties applying to it.

Overrides:
bind in class FONode
Parameters:
pList - the PropertyList where the properties can be found.
Throws:
FOPException - if there is a problem binding the values

startOfNode

protected void startOfNode()
                    throws FOPException
Called after processNode() is called. Subclasses can do additional processing.

Overrides:
startOfNode in class FONode
Throws:
FOPException - FOP Exception

addChildNode

protected void addChildNode(FONode child)
                     throws FOPException
Adds a node as a child of this node. The default implementation of this method just ignores any child node being added.

Overrides:
addChildNode in class FONode
Parameters:
child - child node to be added to the childNodes of this node
Throws:
FOPException - if there's a problem during processing

addChildTo

protected static void addChildTo(FONode child,
                                 FONode parent)
                          throws FOPException
Used by RetrieveMarker during Marker-subtree cloning

Parameters:
child - the (cloned) child node
parent - the (cloned) parent node
Throws:
FOPException - when the child could not be added to the parent

removeChild

public void removeChild(FONode child)
Removes a child node. Used by the child nodes to remove themselves, for example table-body if it has no children.

Overrides:
removeChild in class FONode
Parameters:
child - child node to be removed

findNearestAncestorFObj

public FObj findNearestAncestorFObj()
Find the nearest parent, grandparent, etc. FONode that is also an FObj

Returns:
FObj the nearest ancestor FONode that is an FObj

generatesReferenceAreas

public boolean generatesReferenceAreas()
Check if this formatting object generates reference areas.

Returns:
true if generates reference areas
To do:
see if needed

getChildNodes

public FONode.FONodeIterator getChildNodes()
Return an iterator over all the child nodes of this node.

Overrides:
getChildNodes in class FONode
Returns:
the iterator over the FO's childnodes

hasChildren

public boolean hasChildren()
Indicates whether this formatting object has children.

Returns:
true if there are children

getChildNodes

public FONode.FONodeIterator getChildNodes(FONode childNode)
Return an iterator over the object's childNodes starting at the passed-in node (= first call to iterator.next() will return childNode)

Overrides:
getChildNodes in class FONode
Parameters:
childNode - First node in the iterator
Returns:
A ListIterator or null if childNode isn't a child of this FObj.

addMarker

protected void addMarker(Marker marker)
Add the marker to this formatting object. If this object can contain markers it checks that the marker has a unique class-name for this object and that it is the first child.

Parameters:
marker - Marker to add.

hasMarkers

public boolean hasMarkers()
Returns:
true if there are any Markers attached to this object

getMarkers

public java.util.Map getMarkers()
Returns:
the collection of Markers attached to this object

getContextInfoAlt

protected java.lang.String getContextInfoAlt()
Returns a String containing as some context information about a node. It does not take the locator into consideration and returns null if no useful context information can be found. Call this method only in exceptional conditions because this method may perform quite extensive information gathering inside the FO tree. All text returned by this method that is not extracted from document content needs to be locale-independent.

Overrides:
getContextInfoAlt in class FONode
Returns:
a String containing context information

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

isBlockItem

protected boolean isBlockItem(java.lang.String nsURI,
                              java.lang.String lName)
Convenience method for validity checking. Checks if the incoming node is a member of the "%block;" parameter entity as defined in Sect. 6.2 of the XSL 1.0 & 1.1 Recommendations

Parameters:
nsURI - namespace URI of incoming node
lName - local name (i.e., no prefix) of incoming node
Returns:
true if a member, false if not

isInlineItem

protected boolean isInlineItem(java.lang.String nsURI,
                               java.lang.String lName)
Convenience method for validity checking. Checks if the incoming node is a member of the "%inline;" parameter entity as defined in Sect. 6.2 of the XSL 1.0 & 1.1 Recommendations

Parameters:
nsURI - namespace URI of incoming node
lName - local name (i.e., no prefix) of incoming node
Returns:
true if a member, false if not

isBlockOrInlineItem

protected boolean isBlockOrInlineItem(java.lang.String nsURI,
                                      java.lang.String lName)
Convenience method for validity checking. Checks if the incoming node is a member of the "%block;" parameter entity or "%inline;" parameter entity

Parameters:
nsURI - namespace URI of incoming node
lName - local name (i.e., no prefix) of incoming node
Returns:
true if a member, false if not

findAncestor

protected int findAncestor(int ancestorID)
Convenience method for validity checking. Checks if the current node has an ancestor of a given name.

Parameters:
ancestorID - ID of node name to check for (e.g., FO_ROOT)
Returns:
number of levels above FO where ancestor exists, -1 if not found

clearChildNodes

public void clearChildNodes()
Clears the list of child nodes.


getId

public java.lang.String getId()
Returns:
the "id" property.

hasId

public boolean hasId()
Returns:
whether this object has an id set

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)

getExtensionAttachments

public java.util.List getExtensionAttachments()
Returns:
the extension attachments of this FObj.

hasExtensionAttachments

public boolean hasExtensionAttachments()
Returns:
true if this FObj has extension attachments

addForeignAttribute

public void addForeignAttribute(org.apache.xmlgraphics.util.QName attributeName,
                                java.lang.String value)
Adds a foreign attribute to this FObj.

Parameters:
attributeName - the attribute name as a QName instance
value - the attribute value

getForeignAttributes

public java.util.Map getForeignAttributes()
Returns:
the map of foreign attributes

toString

public java.lang.String toString()

Overrides:
toString in class java.lang.Object

fop 1.0

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