Package org.apache.fop.fo
Class FObj
java.lang.Object
org.apache.fop.fo.FONode
org.apache.fop.fo.FObj
- Direct Known Subclasses:
AbstractGraphics
,AbstractListItemPart
,AbstractPageNumberCitation
,AbstractPageSequence
,BlockContainer
,Bookmark
,BookmarkTitle
,BookmarkTree
,ChangeBar
,Character
,ColorProfile
,ConditionalPageMasterReference
,Declarations
,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
Base class for representation of formatting objects and their processing.
All standard formatting object classes extend this class.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.fop.fo.FONode
FONode.FONodeIterator, FONode.GatherContextInfoFunction
-
Field Summary
Modifier and TypeFieldDescriptionprotected FONode
pointer to the descendant subtreeprotected FONode
pointer to the end of the descendant subtreeFields inherited from class org.apache.fop.fo.FONode
FO_URI, FOX_URI, locator, log, nodeChangeBarList, parent, siblings, startOfNodeChangeBarList
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_BT, 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_INCLUDING_CARRYOVER, 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, 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, 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_SELECT_FIRST_FITTING, 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, EN_TB_LR, 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, 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_ABBREVIATION, PR_X_ALT_TEXT, PR_X_AUTO_TOGGLE, PR_X_BACKGROUND_IMAGE_HEIGHT, PR_X_BACKGROUND_IMAGE_WIDTH, PR_X_BORDER_AFTER_END_RADIUS, PR_X_BORDER_AFTER_RADIUS_END, PR_X_BORDER_AFTER_RADIUS_START, PR_X_BORDER_AFTER_START_RADIUS, PR_X_BORDER_BEFORE_END_RADIUS, PR_X_BORDER_BEFORE_RADIUS_END, PR_X_BORDER_BEFORE_RADIUS_START, PR_X_BORDER_BEFORE_START_RADIUS, PR_X_BORDER_END_RADIUS_AFTER, PR_X_BORDER_END_RADIUS_BEFORE, PR_X_BORDER_RADIUS, PR_X_BORDER_START_RADIUS_AFTER, PR_X_BORDER_START_RADIUS_BEFORE, PR_X_DISABLE_COLUMN_BALANCING, PR_X_HEADER_COLUMN, PR_X_LAYER, PR_X_NUMBER_CONVERSION_FEATURES, PR_X_ORPHAN_CONTENT_LIMIT, PR_X_WIDOW_CONTENT_LIMIT, PR_X_XML_BASE, PR_XML_LANG, PR_Z_INDEX, PROPERTY_COUNT, PROPERTY_MASK
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected 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 cloningvoid
addForeignAttribute
(org.apache.xmlgraphics.util.QName attributeName, String value) Adds a foreign attribute to this FObj.protected void
Add the marker to this formatting object.void
bind
(PropertyList pList) Bind property values from the property list to the FO node.void
Clears the list of child nodes.Performs a shallow cloning operation, sets the clone's parent, and optionally cleans the list of child nodesprotected PropertyList
createPropertyList
(PropertyList parent, FOEventHandler foEventHandler) Create a default property list for this element.void
Primarily used for making final content model validation checks and/or informing theFOEventHandler
that the end of this FO has been reached.protected int
findAncestor
(int ancestorID) Convenience method for validity checking.Find the nearest parent, grandparent, etc.protected String
Gathers context information for the getContextInfo() method.boolean
Check if this formatting object generates reference areas.int
Obtain resolved bidirectional level of FO.int
Obtain resolved bidirectional level of FO or nearest FO ancestor that has a resolved level.Return an iterator over all the child nodes of this node.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 String
Returns a String containing as some context information about a node.getId()
getLayer()
Returns the namespace URI for this nodeReturns the normally used namespace prefix for this nodestatic PropertyMaker
getPropertyMakerFor
(int propId) Returns the PropertyMaker for a given property ID.boolean
Indicates whether this formatting object has children.boolean
boolean
hasId()
boolean
hasLayer()
boolean
protected boolean
isBidiBoundary
(boolean propagate) boolean
Determine if this node is a new bidi RANGE block item.protected boolean
isBlockItem
(String nsURI, String lName) Convenience method for validity checking.protected boolean
isBlockOrInlineItem
(String nsURI, String lName) Convenience method for validity checking.boolean
protected boolean
isInlineItem
(String nsURI, String lName) Convenience method for validity checking.protected boolean
isNeutralItem
(String nsURI, String lName) Convenience method for validity checking.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.void
removeChild
(FONode child) Removes a child node.void
setBidiLevel
(int bidiLevel) Recursively set resolved bidirectional level of FO (and its ancestors) if and only if it is non-negative and if either the current value is reset (-1) or the new value is less than the current value.void
setForceKeepTogether
(boolean b) void
Called after processNode() is called.toString()
Methods inherited from class org.apache.fop.fo.FONode
addCharacters, attachSiblings, canHaveMarkers, characters, charIterator, clone, collectDelimitedTextRanges, collectDelimitedTextRanges, decorateWithContextInfo, errorText, finalizeNode, getBuilderContext, getChangeBarList, getContentHandlerFactory, getContextInfo, getExtensionAttachment, getFOEventHandler, getFOValidationEventProducer, getLocalName, getLocator, getLocatorString, getLogger, getName, getName, getNameId, getNodePrefix, getNodeString, getParent, getRoot, getStructureTreeElement, getUserAgent, inMarker, invalidChildError, invalidChildError, invalidPropertyValueError, isChangeBarElement, isDelimitedTextRangeBoundary, missingChildElementError, missingChildElementError, missingPropertyError, nodesOutOfOrderError, nodesOutOfOrderError, notSupportedChildError, setLocator, setStructureTreeElement, tooManyNodesError, tooManyNodesError, tooManyNodesError, validateChildNode, validateChildNode, warningText
-
Field Details
-
firstChild
pointer to the descendant subtree -
lastChild
pointer to the end of the descendant subtree
-
-
Constructor Details
-
FObj
Create a new formatting object.- Parameters:
parent
- the parent node
-
-
Method Details
-
clone
Performs a shallow cloning operation, sets the clone's parent, and optionally cleans the list of child nodes- Overrides:
clone
in classFONode
- Parameters:
parent
- the intended parent of the cloneremoveChildren
- 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
Returns the PropertyMaker for a given property ID.- Parameters:
propId
- the property ID- Returns:
- the requested Property Maker
-
processNode
public void processNode(String elementName, Locator locator, 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 classFONode
- 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 classFONode
- 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
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 classFONode
- Parameters:
pList
- the PropertyList where the properties can be found.- Throws:
FOPException
- if there is a problem binding the values
-
startOfNode
Called after processNode() is called. Subclasses can do additional processing.- Overrides:
startOfNode
in classFONode
- Throws:
FOPException
- FOP Exception
-
endOfNode
Primarily used for making final content model validation checks and/or informing theFOEventHandler
that the end of this FO has been reached. The default implementation simply callsFONode.finalizeNode()
, without sending any event to theFOEventHandler
.Note: the recommended way to override this method in subclasses is
super.endOfNode(); // invoke finalizeNode()
getFOEventHandler().endXXX(); // send endOfNode() notification
- Overrides:
endOfNode
in classFONode
- Throws:
FOPException
- FOP Exception
-
addChildNode
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 classFONode
- Parameters:
child
- child node to be added to the childNodes of this node- Throws:
FOPException
- if there's a problem during processing
-
addChildTo
Used by RetrieveMarker during Marker-subtree cloning- Parameters:
child
- the (cloned) child nodeparent
- the (cloned) parent node- Throws:
FOPException
- when the child could not be added to the parent
-
removeChild
Removes a child node. Used by the child nodes to remove themselves, for example table-body if it has no children.- Overrides:
removeChild
in classFONode
- Parameters:
child
- child node to be removed
-
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 TODO see if needed
-
getChildNodes
Return an iterator over all the child nodes of this node.- Overrides:
getChildNodes
in classFONode
- 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
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 classFONode
- Parameters:
childNode
- First node in the iterator- Returns:
- A FONodeIterator or null if childNode isn't a child of this FObj.
-
addMarker
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
- Returns:
- the collection of Markers attached to this object
-
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 classFONode
- Returns:
- a String containing context information
-
gatherContextInfo
Gathers context information for the getContextInfo() method.- Overrides:
gatherContextInfo
in classFONode
- Returns:
- the collected context information or null, if none is available
-
isBlockItem
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 nodelName
- local name (i.e., no prefix) of incoming node- Returns:
- true if a member, false if not
-
isInlineItem
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 nodelName
- local name (i.e., no prefix) of incoming node- Returns:
- true if a member, false if not
-
isBlockOrInlineItem
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 nodelName
- local name (i.e., no prefix) of incoming node- Returns:
- true if a member, false if not
-
isNeutralItem
Convenience method for validity checking. Checks if the incoming node is a member of the neutral item list as defined in Sect. 6.2 of the XSL 1.0 & 1.1 Recommendations- Parameters:
nsURI
- namespace URI of incoming nodelName
- 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
- Returns:
- the "id" property.
-
hasId
public boolean hasId()- Returns:
- whether this object has an id set
-
getLayer
- Returns:
- the "layer" property.
-
hasLayer
public boolean hasLayer()- Returns:
- whether this object has an layer set
-
getNamespaceURI
Returns the namespace URI for this node- Overrides:
getNamespaceURI
in classFONode
- Returns:
- the namespace URI for this node
-
getNormalNamespacePrefix
Returns the normally used namespace prefix for this node- Specified by:
getNormalNamespacePrefix
in classFONode
- Returns:
- the normally used namespace prefix for this kind of node (ex. "fo" for XSL-FO)
-
isBidiRangeBlockItem
public boolean isBidiRangeBlockItem()Determine if this node is a new bidi RANGE block item.- Overrides:
isBidiRangeBlockItem
in classFONode
- Returns:
- true if this node is a new bidi RANGE block item
-
setBidiLevel
public void setBidiLevel(int bidiLevel) Recursively set resolved bidirectional level of FO (and its ancestors) if and only if it is non-negative and if either the current value is reset (-1) or the new value is less than the current value.- Parameters:
bidiLevel
- a non-negative bidi embedding level
-
getBidiLevel
public int getBidiLevel()Obtain resolved bidirectional level of FO.- Returns:
- either a non-negative bidi embedding level or -1 in case no bidi levels have been assigned
-
getBidiLevelRecursive
public int getBidiLevelRecursive()Obtain resolved bidirectional level of FO or nearest FO ancestor that has a resolved level.- Returns:
- either a non-negative bidi embedding level or -1 in case no bidi levels have been assigned to this FO or any ancestor
-
isBidiBoundary
protected boolean isBidiBoundary(boolean propagate) -
getExtensionAttachments
- Returns:
- the extension attachments of this FObj.
-
hasExtensionAttachments
public boolean hasExtensionAttachments()- Returns:
- true if this FObj has extension attachments
-
addForeignAttribute
Adds a foreign attribute to this FObj.- Parameters:
attributeName
- the attribute name as a QName instancevalue
- the attribute value
-
getForeignAttributes
- Returns:
- the map of foreign attributes
-
toString
-
isForceKeepTogether
public boolean isForceKeepTogether() -
setForceKeepTogether
public void setForceKeepTogether(boolean b)
-