Package org.apache.fop.fo
Class FObj
- java.lang.Object
-
- org.apache.fop.fo.FONode
-
- org.apache.fop.fo.FObj
-
- All Implemented Interfaces:
java.lang.Cloneable,Constants
- 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
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
Nested Classes Modifier and Type Class Description static classFObj.FObjIteratorBasicFONode.FONodeIteratorimplementation-
Nested classes/interfaces inherited from class org.apache.fop.fo.FONode
FONode.FONodeIterator, FONode.GatherContextInfoFunction
-
-
Field Summary
Fields Modifier and Type Field Description private intbidiLevelprivate java.util.List<ExtensionAttachment>extensionAttachmentsThe list of extension attachments, null if noneprotected FONodefirstChildpointer to the descendant subtreeprivate booleanforceKeepTogetherprivate java.util.Map<org.apache.xmlgraphics.util.QName,java.lang.String>foreignAttributesThe map of foreign attributes, null if noneprivate java.lang.Stringidprivate booleanisOutOfLineFODescendantUsed to indicate if this FO is either an Out Of Line FO (see rec) or a descendant of one.protected FONodelastChildpointer to the end of the descendant subtreeprivate java.lang.Stringlayerprivate java.util.Map<java.lang.String,Marker>markersMarkers added to this element.private static PropertyMaker[]PROPERTY_LIST_TABLEthe list of property makers-
Fields 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
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaddChildNode(FONode child)Adds a node as a child of this node.protected static voidaddChildTo(FONode child, FONode parent)Used by RetrieveMarker during Marker-subtree cloning(package private) voidaddExtensionAttachment(ExtensionAttachment attachment)Add a new extension attachment to this FObj.voidaddForeignAttribute(org.apache.xmlgraphics.util.QName attributeName, java.lang.String value)Adds a foreign attribute to this FObj.protected voidaddMarker(Marker marker)Add the marker to this formatting object.voidbind(PropertyList pList)Bind property values from the property list to the FO node.private voidcheckId(java.lang.String id)Setup the id for this formatting object.voidclearChildNodes()Clears the list of child nodes.FONodeclone(FONode parent, boolean removeChildren)Performs a shallow cloning operation, sets the clone's parent, and optionally cleans the list of child nodesprotected PropertyListcreatePropertyList(PropertyList parent, FOEventHandler foEventHandler)Create a default property list for this element.voidendOfNode()Primarily used for making final content model validation checks and/or informing theFOEventHandlerthat the end of this FO has been reached.protected intfindAncestor(int ancestorID)Convenience method for validity checking.FObjfindNearestAncestorFObj()Find the nearest parent, grandparent, etc.protected java.lang.StringgatherContextInfo()Gathers context information for the getContextInfo() method.booleangeneratesReferenceAreas()Check if this formatting object generates reference areas.private java.lang.StringgetAttributeNameForValue(org.xml.sax.Attributes attList, Property value, PropertyList propertyList)intgetBidiLevel()Obtain resolved bidirectional level of FO.intgetBidiLevelRecursive()Obtain resolved bidirectional level of FO or nearest FO ancestor that has a resolved level.FONode.FONodeIteratorgetChildNodes()Return an iterator over all the child nodes of this node.FONode.FONodeIteratorgetChildNodes(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.StringgetContextInfoAlt()Returns a String containing as some context information about a node.java.util.List<ExtensionAttachment>getExtensionAttachments()java.util.MapgetForeignAttributes()java.lang.StringgetId()(package private) booleangetIsOutOfLineFODescendant()Returns Out Of Line FO Descendant indicator.java.lang.StringgetLayer()java.util.Map<java.lang.String,Marker>getMarkers()java.lang.StringgetNamespaceURI()Returns the namespace URI for this nodejava.lang.StringgetNormalNamespacePrefix()Returns the normally used namespace prefix for this nodestatic PropertyMakergetPropertyMakerFor(int propId)Returns the PropertyMaker for a given property ID.booleanhasChildren()Indicates whether this formatting object has children.booleanhasExtensionAttachments()booleanhasId()booleanhasLayer()booleanhasMarkers()protected booleanisBidiBoundary(boolean propagate)private booleanisBidiInheritanceBoundary()private booleanisBidiPropagationBoundary()booleanisBidiRangeBlockItem()Determine if this node is a new bidi RANGE block item.protected booleanisBlockItem(java.lang.String nsURI, java.lang.String lName)Convenience method for validity checking.protected booleanisBlockOrInlineItem(java.lang.String nsURI, java.lang.String lName)Convenience method for validity checking.booleanisForceKeepTogether()protected booleanisInlineItem(java.lang.String nsURI, java.lang.String lName)Convenience method for validity checking.protected booleanisNeutralItem(java.lang.String nsURI, java.lang.String lName)Convenience method for validity checking.(package private) voidnotifyChildRemoval(FONode node)Notifies a FObj that one of it's children is removed.voidprocessNode(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.voidremoveChild(FONode child)Removes a child node.voidsetBidiLevel(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.voidsetForceKeepTogether(boolean b)voidstartOfNode()Called after processNode() is called.java.lang.StringtoString()private voidwarnOnUnknownProperties(org.xml.sax.Attributes attlist, java.lang.String objName, PropertyList propertyList)-
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 Detail
-
PROPERTY_LIST_TABLE
private static final PropertyMaker[] PROPERTY_LIST_TABLE
the list of property makers
-
firstChild
protected FONode firstChild
pointer to the descendant subtree
-
lastChild
protected FONode lastChild
pointer to the end of the descendant subtree
-
extensionAttachments
private java.util.List<ExtensionAttachment> extensionAttachments
The list of extension attachments, null if none
-
foreignAttributes
private java.util.Map<org.apache.xmlgraphics.util.QName,java.lang.String> foreignAttributes
The map of foreign attributes, null if none
-
isOutOfLineFODescendant
private boolean isOutOfLineFODescendant
Used to indicate if this FO is either an Out Of Line FO (see rec) or a descendant of one. Used during FO validation.
-
markers
private java.util.Map<java.lang.String,Marker> markers
Markers added to this element.
-
bidiLevel
private int bidiLevel
-
id
private java.lang.String id
-
layer
private java.lang.String layer
-
forceKeepTogether
private boolean forceKeepTogether
-
-
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:
clonein 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
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 FOPExceptionInitialize 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:
processNodein 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
-
warnOnUnknownProperties
private void warnOnUnknownProperties(org.xml.sax.Attributes attlist, java.lang.String objName, PropertyList propertyList) throws FOPException- Throws:
FOPException
-
getAttributeNameForValue
private java.lang.String getAttributeNameForValue(org.xml.sax.Attributes attList, Property value, PropertyList propertyList) throws FOPException- Throws:
FOPException
-
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:
createPropertyListin 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
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:
bindin classFONode- Parameters:
pList- the PropertyList where the properties can be found.- Throws:
FOPException- if there is a problem binding the values
-
startOfNode
public void startOfNode() throws FOPExceptionCalled after processNode() is called. Subclasses can do additional processing.- Overrides:
startOfNodein classFONode- Throws:
FOPException- FOP Exception
-
endOfNode
public void endOfNode() throws FOPExceptionPrimarily used for making final content model validation checks and/or informing theFOEventHandlerthat 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:
endOfNodein classFONode- Throws:
FOPException- FOP Exception
-
checkId
private void checkId(java.lang.String id) throws ValidationExceptionSetup the id for this formatting object. Most formatting objects can have an id that can be referenced. This methods checks that the id isn't already used by another FO- Parameters:
id- the id to check- Throws:
ValidationException- if the ID is already defined elsewhere (strict validation only)
-
getIsOutOfLineFODescendant
boolean getIsOutOfLineFODescendant()
Returns Out Of Line FO Descendant indicator.- Returns:
- true if Out of Line FO or Out Of Line descendant, false otherwise
-
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:
addChildNodein classFONode- 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 nodeparent- 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:
removeChildin classFONode- 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 TODO see if needed
-
getChildNodes
public FONode.FONodeIterator getChildNodes()
Return an iterator over all the child nodes of this node.- Overrides:
getChildNodesin 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
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:
getChildNodesin classFONode- Parameters:
childNode- First node in the iterator- Returns:
- A FONodeIterator or null if childNode isn't a child of this FObj.
-
notifyChildRemoval
void notifyChildRemoval(FONode node)
Notifies a FObj that one of it's children is removed. This method is subclassed by Block to clear the firstInlineChild variable in case it doesn't generate any areas (see addMarker()).- Parameters:
node- the node that was removed
-
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<java.lang.String,Marker> 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:
getContextInfoAltin classFONode- Returns:
- a String containing context information
-
gatherContextInfo
protected java.lang.String gatherContextInfo()
Gathers context information for the getContextInfo() method.- Overrides:
gatherContextInfoin classFONode- 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 nodelName- 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 nodelName- 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 nodelName- local name (i.e., no prefix) of incoming node- Returns:
- true if a member, false if not
-
isNeutralItem
protected boolean isNeutralItem(java.lang.String nsURI, java.lang.String lName)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
public java.lang.String getId()
- Returns:
- the "id" property.
-
hasId
public boolean hasId()
- Returns:
- whether this object has an id set
-
getLayer
public java.lang.String getLayer()
- Returns:
- the "layer" property.
-
hasLayer
public boolean hasLayer()
- Returns:
- whether this object has an layer set
-
getNamespaceURI
public java.lang.String getNamespaceURI()
Returns the namespace URI for this node- Overrides:
getNamespaceURIin classFONode- Returns:
- the namespace URI for this node
-
getNormalNamespacePrefix
public java.lang.String getNormalNamespacePrefix()
Returns the normally used namespace prefix for this node- Specified by:
getNormalNamespacePrefixin 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:
isBidiRangeBlockItemin 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)
-
isBidiInheritanceBoundary
private boolean isBidiInheritanceBoundary()
-
isBidiPropagationBoundary
private boolean isBidiPropagationBoundary()
-
addExtensionAttachment
void addExtensionAttachment(ExtensionAttachment attachment)
Add a new extension attachment to this FObj. (see org.apache.fop.fo.FONode for details)- Parameters:
attachment- the attachment to add.
-
getExtensionAttachments
public java.util.List<ExtensionAttachment> 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 instancevalue- the attribute value
-
getForeignAttributes
public java.util.Map getForeignAttributes()
- Returns:
- the map of foreign attributes
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
isForceKeepTogether
public boolean isForceKeepTogether()
-
setForceKeepTogether
public void setForceKeepTogether(boolean b)
-
-