org.foray.fotree
Class FObjMixed

java.lang.Object
  extended by org.foray.common.AbstractOrderedTreeNode
      extended by org.foray.fotree.FObj
          extended by org.foray.fotree.FObjMixed
All Implemented Interfaces:
Iterable<org.axsl.fo.Fo>, TreeNode, org.axsl.fo.Fo, org.axsl.fo.fo.proforma.CommonFontExcludedPa, org.axsl.fo.fo.proforma.LinefeedTreatmentPa, org.axsl.fo.fo.proforma.WhiteSpaceCollapsePa, org.axsl.fo.fo.prop.ActiveStatePa, org.axsl.fo.fo.prop.AlignmentAdjustPa, org.axsl.fo.fo.prop.AlignmentBaselinePa, org.axsl.fo.fo.prop.AllowedHeightScalePa, org.axsl.fo.fo.prop.AllowedWidthScalePa, org.axsl.fo.fo.prop.AutoRestorePa, org.axsl.fo.fo.prop.BaselineShiftPa, org.axsl.fo.fo.prop.BlockProgressionDimensionPa, org.axsl.fo.fo.prop.BorderAfterPrecedencePa, org.axsl.fo.fo.prop.BorderBeforePrecedencePa, org.axsl.fo.fo.prop.BorderCollapsePa, org.axsl.fo.fo.prop.BorderEndPrecedencePa, org.axsl.fo.fo.prop.BorderSeparationPa, org.axsl.fo.fo.prop.BorderStartPrecedencePa, org.axsl.fo.fo.prop.BreakAfterPa, org.axsl.fo.fo.prop.BreakBeforePa, org.axsl.fo.fo.prop.CaptionSidePa, org.axsl.fo.fo.prop.CaseNamePa, org.axsl.fo.fo.prop.CaseTitlePa, org.axsl.fo.fo.prop.ChangeBarClassPa, org.axsl.fo.fo.prop.ChangeBarColorPa, org.axsl.fo.fo.prop.ChangeBarOffsetPa, org.axsl.fo.fo.prop.ChangeBarPlacementPa, org.axsl.fo.fo.prop.ChangeBarStylePa, org.axsl.fo.fo.prop.ChangeBarWidthPa, org.axsl.fo.fo.prop.ClearPa, org.axsl.fo.fo.prop.ClipPa, org.axsl.fo.fo.prop.ColorPa, org.axsl.fo.fo.prop.ColorProfileNamePa, org.axsl.fo.fo.prop.ColumnCountPa, org.axsl.fo.fo.prop.ColumnGapPa, org.axsl.fo.fo.prop.CommonAbsolutePositionPa, org.axsl.fo.fo.prop.CommonAccessibilityPa, org.axsl.fo.fo.prop.CommonAuralPa, org.axsl.fo.fo.prop.CommonBorderPaddingBgPa, org.axsl.fo.fo.prop.CommonFontPa, org.axsl.fo.fo.prop.CommonHyphenationPa, org.axsl.fo.fo.prop.CommonMarginBlockPa, org.axsl.fo.fo.prop.CommonMarginInlineOptimumPa, org.axsl.fo.fo.prop.CommonMarginInlinePa, org.axsl.fo.fo.prop.CommonPositionPa, org.axsl.fo.fo.prop.CommonRelativePositionPa, org.axsl.fo.fo.prop.ContentTypePa, org.axsl.fo.fo.prop.DestinationPa, org.axsl.fo.fo.prop.DestinationPlacementOffsetPa, org.axsl.fo.fo.prop.DirectionPa, org.axsl.fo.fo.prop.DisplayAlignPa, org.axsl.fo.fo.prop.DominantBaselinePa, org.axsl.fo.fo.prop.EmptyCellsPa, org.axsl.fo.fo.prop.ExtentPa, org.axsl.fo.fo.prop.FloatPa, org.axsl.fo.fo.prop.FlowNamePa, org.axsl.fo.fo.prop.FontStylePa, org.axsl.fo.fo.prop.FontWeightPa, org.axsl.fo.fo.prop.ForcePageCountPa, org.axsl.fo.fo.prop.FormatPa, org.axsl.fo.fo.prop.GlyphOrientationHorizontalPa, org.axsl.fo.fo.prop.GlyphOrientationVerticalPa, org.axsl.fo.fo.prop.HyphenationKeepPa, org.axsl.fo.fo.prop.HyphenationLadderCountPa, org.axsl.fo.fo.prop.IdPa, org.axsl.fo.fo.prop.IndexClassPa, org.axsl.fo.fo.prop.IndexKeyPa, org.axsl.fo.fo.prop.IndicateDestinationPa, org.axsl.fo.fo.prop.InitialPageNumberPa, org.axsl.fo.fo.prop.InlineProgressionDimensionPa, org.axsl.fo.fo.prop.IntrusionDisplacePa, org.axsl.fo.fo.prop.KeepTogetherPa, org.axsl.fo.fo.prop.KeepWithNextPa, org.axsl.fo.fo.prop.KeepWithPreviousPa, org.axsl.fo.fo.prop.LastLineEndIndentPa, org.axsl.fo.fo.prop.LeaderAlignmentPa, org.axsl.fo.fo.prop.LeaderLengthPa, org.axsl.fo.fo.prop.LeaderPatternPa, org.axsl.fo.fo.prop.LeaderPatternWidthPa, org.axsl.fo.fo.prop.LetterSpacingPa, org.axsl.fo.fo.prop.LineHeightPa, org.axsl.fo.fo.prop.LineHeightShiftAdjustmentPa, org.axsl.fo.fo.prop.LineStackingStrategyPa, org.axsl.fo.fo.prop.MediaUsagePa, org.axsl.fo.fo.prop.MergePagesAcrossIndexKeyReferencesPa, org.axsl.fo.fo.prop.MergeRangesAcrossIndexKeyReferencesPa, org.axsl.fo.fo.prop.MergeSequentialPageNumbersPa, org.axsl.fo.fo.prop.NumberColumnsRepeatedPa, org.axsl.fo.fo.prop.OrphansPa, org.axsl.fo.fo.prop.OverflowPa, org.axsl.fo.fo.prop.PageCitationStrategyPa, org.axsl.fo.fo.prop.PageHeightPa, org.axsl.fo.fo.prop.PageNumberTreatmentPa, org.axsl.fo.fo.prop.PageWidthPa, org.axsl.fo.fo.prop.ProvisionalDistanceBetweenStartsPa, org.axsl.fo.fo.prop.ProvisionalLabelSeparationPa, org.axsl.fo.fo.prop.ReferenceOrientationPa, org.axsl.fo.fo.prop.RefIdPa, org.axsl.fo.fo.prop.RefIndexKeyPa, org.axsl.fo.fo.prop.RelativeAlignPa, org.axsl.fo.fo.prop.RenderingIntentPa, org.axsl.fo.fo.prop.RetrieveBoundaryWithinTablePa, org.axsl.fo.fo.prop.RetrievePositionWithinTablePa, org.axsl.fo.fo.prop.RuleStylePa, org.axsl.fo.fo.prop.RuleThicknessPa, org.axsl.fo.fo.prop.ScalingMethodPa, org.axsl.fo.fo.prop.ScoreSpacesPa, org.axsl.fo.fo.prop.ShowDestinationPa, org.axsl.fo.fo.prop.SpanPa, org.axsl.fo.fo.prop.SrcPa, org.axsl.fo.fo.prop.StartingStatePa, org.axsl.fo.fo.prop.SuppressAtLineBreakPa, org.axsl.fo.fo.prop.SwitchToPa, org.axsl.fo.fo.prop.TableLayoutPa, org.axsl.fo.fo.prop.TableOmitFooterAtBreakPa, org.axsl.fo.fo.prop.TableOmitHeaderAtBreakPa, org.axsl.fo.fo.prop.TargetPresentationContextPa, org.axsl.fo.fo.prop.TargetProcessingContextPa, org.axsl.fo.fo.prop.TargetStylesheetPa, org.axsl.fo.fo.prop.TextAlignLastPa, org.axsl.fo.fo.prop.TextAlignPa, org.axsl.fo.fo.prop.TextAltitudePa, org.axsl.fo.fo.prop.TextDecorationPa, org.axsl.fo.fo.prop.TextDepthPa, org.axsl.fo.fo.prop.TextIndentPa, org.axsl.fo.fo.prop.TextShadowPa, org.axsl.fo.fo.prop.TextTransformPa, org.axsl.fo.fo.prop.TreatAsWordSpacePa, org.axsl.fo.fo.prop.UnicodeBidiPa, org.axsl.fo.fo.prop.VisibilityPa, org.axsl.fo.fo.prop.WhiteSpaceTreatmentPa, org.axsl.fo.fo.prop.WidowsPa, org.axsl.fo.fo.prop.WordSpacingPa, org.axsl.fo.fo.prop.WrapOptionPa, org.axsl.fo.fo.prop.ZIndexPa, OrderedTreeNode
Direct Known Subclasses:
AbstractFolioDescriptor, AbstractIndexFormatting, BasicLink, BidiOverride, Block, BookmarkTitle, Inline, Leader, Marker, Metadata, Title, Wrapper

public abstract class FObjMixed
extends FObj

Abstract superclass for mixed content formatting objects.


Nested Class Summary
 
Nested classes/interfaces inherited from class org.foray.common.AbstractOrderedTreeNode
AbstractOrderedTreeNode.PostOrderDescendantIterator
 
Field Summary
 
Fields inherited from class org.foray.fotree.FObj
EMPTY_CHILD_LIST, PAGE_CITATION_TEXT_SEGMENT
 
Fields inherited from interface org.axsl.fo.Fo
DIMENSION_AUTO
 
Fields inherited from interface org.axsl.fo.fo.prop.CommonPositionPa
ABSOLUTE_POSITION_AUTO
 
Constructor Summary
protected FObjMixed(FObj parent, PropertyList propertyList)
          Constructor.
 
Method Summary
protected  void addCharacters(char[] data, int start, int length, String systemId, int line, int column)
          Adds text characters to the object.
 void addChild(FObj child)
          Add a child to this object.
abstract  void addNonTextNode(FObj nonTextNode)
          Add a non-text node to the children of this object.
abstract  void addTextNode(AbstractCharacterSequence textNode)
          Add a text node to the children of this object.
abstract  boolean blockMustEnclosePCDATA()
          Indicates whether any PCDATA (text) found in this element must have an ancestor block element.
protected  void end()
          This method is a hook into the parsing process, primarily to allow the subclass to do some validation or setup work after the object and all of its properties have been parsed and all of its children processed.
protected  void finalizeText(org.axsl.fo.FoContext context)
          Flushes any remaining text into an FOText item.
 PropertyList getPropertyList()
          Returns the property list for this FObj.
 StringBuilder getTextBuffer()
          Returns the text buffer.
 
Methods inherited from class org.foray.fotree.FObj
addChildToEmptyContentModel, ancestorBasicLink, ancestorFlow, ancestorGeneratingRA, ancestorListRelatedObject, ancestorMarker, ancestorProperty, ancestorStaticContent, ancestorTable, checkExceptionLocation, computeAutoBaseline, containsText, effectiveParent, firstLineText, firstTextSegment, getAllowsChildren, getAutoScript, getBaselineFromScript, getChildren, getColumn, getContainingBlock, getContentHeight, getContentWidth, getContextMessage, getContextMessage, getCookedExternalDestination, getDescendantIterator, getDescendantText, getDestination, getFauxSmallCapFontSize, getFlowMapName, getFlowMapReference, getFlowNameReference, getFontConsumer, getFoTree, getFullName, getGraphicServer, getHyphenationConsumer, getLine, getLinkType, getLogger, getMarginBottom, getMarginLeft, getMarginRight, getMarginTop, getMessageWithContext, getName, getNamespace, getNearestAncestorListBlock, getNearestLeader, getNearestListItem, getNextContiguousTextInBlock, getOrderedParent, getParent, getParsedParent, getPreviousContiguousTextInBlock, getRegionNameReference, getRoot, getSecondaryFont, getSequentialIndex, getSiblings, getSpeechServer, getSystemId, getTextServer, getVoice, initialPageNumberSetExplicitly, invalidPageReference, isBlockLevelFo, isContentBlock, isContentHeightDependentOnPd, isContentInline, isContentPcdata, isContentWidthDependentOnPd, iterator, logWarning, nearestGeneratingRA, qtyMarkerChildren, relativeAlignApplies, resolvePrimaryFont, scalingUniform, setLocation, setup, throwException, throwException, throwExceptionContentModelViolation, throwExceptionInvalidLocation, traitAbsolutePosition, traitActiveState, traitAlignmentAdjust, traitAlignmentBaseline, traitAllowedHeightScale, traitAllowedHeightScale, traitAllowedWidthScale, traitAllowedWidthScale, traitAutoRestore, traitAzimuth, traitBackgroundAttachment, traitBackgroundColor, traitBackgroundImage, traitBackgroundPositionHorizontal, traitBackgroundPositionVertical, traitBackgroundRepeat, traitBaselineShift, traitBlankOrNotBlank, traitBlink, traitBorderAfterColor, traitBorderAfterPrecedence, traitBorderAfterStyle, traitBorderAfterWidth, traitBorderBeforeColor, traitBorderBeforePrecedence, traitBorderBeforeStyle, traitBorderBeforeWidth, traitBorderCollapse, traitBorderEndColor, traitBorderEndPrecedence, traitBorderEndStyle, traitBorderEndWidth, traitBorderSeparationBpd, traitBorderSeparationIpd, traitBorderStartColor, traitBorderStartPrecedence, traitBorderStartStyle, traitBorderStartWidth, traitBottom, traitBpDimensionMax, traitBpDimensionMin, traitBpDimensionOpt, traitBreakAfter, traitBreakBefore, traitCaptionSide, traitCaseName, traitCaseTitle, traitChangeBarClass, traitChangeBarColor, traitChangeBarOffset, traitChangeBarPlacement, traitChangeBarStyle, traitChangeBarWidth, traitCharacter, traitClear, traitClip, traitClipIsAuto, traitColor, traitColorProfileName, traitColumnCount, traitColumnGap, traitColumnNumber, traitContentType, traitCountry, traitCueAfter, traitCueBefore, traitDestinationPlacementOffset, traitDirection, traitDisplayAlign, traitDominantBaseline, traitElevation, traitEmptyCells, traitEndIndent, traitEndsRow, traitExtent, traitExternalDestination, traitFloat, traitFlowName, traitFontFamily, traitFontSelectionStrategy, traitFontSize, traitFontSizeActual, traitFontSizeAdjust, traitFontStretch, traitFontStyle, traitFontVariant, traitFontWeight, traitForcePageCount, traitFormat, traitGlyphOrientationHorizontal, traitGlyphOrientationVertical, traitGroupingSeparator, traitGroupingSize, traitHalfLeadingConditionality, traitHalfLeadingMax, traitHalfLeadingMin, traitHalfLeadingOpt, traitHalfLeadingPrecedence, traitHyphenate, traitHyphenationCharacter, traitHyphenationKeep, traitHyphenationLadderCount, traitHyphenationPushCharacterCount, traitHyphenationRemainCharacterCount, traitId, traitIndexClass, traitIndexKey, traitIndicateDestination, traitInitialPageNumber, traitInternalDestination, traitIntrusionDisplace, traitIpDimensionMax, traitIpDimensionMin, traitIpDimensionOpt, traitIsReferenceArea, traitKeepTogetherWithinColumn, traitKeepTogetherWithinLine, traitKeepTogetherWithinPage, traitKeepWithNextWithinColumn, traitKeepWithNextWithinLine, traitKeepWithNextWithinPage, traitKeepWithPreviousWithinColumn, traitKeepWithPreviousWithinLine, traitKeepWithPreviousWithinPage, traitLanguage, traitLastLineEndIndent, traitLeaderAlignment, traitLeaderLengthMax, traitLeaderLengthMin, traitLeaderLengthOpt, traitLeaderPattern, traitLeaderPatternWidth, traitLeft, traitLetterSpacingConditionality, traitLetterSpacingMax, traitLetterSpacingMin, traitLetterSpacingOpt, traitLetterSpacingPrecedence, traitLetterValue, traitLinefeedTreatment, traitLineHeightShiftAdjustment, traitLineStackingStrategy, traitMarkerClassName, traitMasterName, traitMasterReference, traitMaximumRepeats, traitMediaUsage, traitMergePagesAcrossIndexKeyReferences, traitMergeRangesAcrossIndexKeyReferences, traitMergeSequentialPageNumbers, traitNumberColumnsRepeated, traitNumberColumnsSpanned, traitNumberRowsSpanned, traitOddOrEven, traitOrphans, traitOverflow, traitOverlineScore, traitOverlineScoreColor, traitPaddingAfter, traitPaddingBefore, traitPaddingEnd, traitPaddingStart, traitPageCitationStrategy, traitPageHeight, traitPageNumberTreatment, traitPagePosition, traitPageWidth, traitPauseAfter, traitPauseBefore, traitPitch, traitPitchRange, traitPlayDuring, traitPlayDuringMix, traitPlayDuringRepeat, traitPrecedence, traitProvisionalDistanceBetweenStarts, traitProvisionalLabelSeparation, traitReferenceOrientation, traitRefId, traitRefIndexKey, traitRelativeAlign, traitRelativePosition, traitRenderingIntent, traitRetrieveBoundaryWithinTable, traitRetrieveClassName, traitRetrievePositionWithinTable, traitRichness, traitRight, traitRole, traitRuleStyle, traitRuleThickness, traitScaling, traitScalingMethod, traitScalingMethod, traitScoreSpaces, traitScript, traitShowDestination, traitSourceDocument, traitSpaceAfterConditionality, traitSpaceAfterMaximum, traitSpaceAfterMinimum, traitSpaceAfterOptimum, traitSpaceAfterPrecedence, traitSpaceBeforeConditionality, traitSpaceBeforeMaximum, traitSpaceBeforeMinimum, traitSpaceBeforeOptimum, traitSpaceBeforePrecedence, traitSpaceEndConditionality, traitSpaceEndMaximum, traitSpaceEndMinimum, traitSpaceEndOptimum, traitSpaceEndPrecedence, traitSpaceStartConditionality, traitSpaceStartMaximum, traitSpaceStartMinimum, traitSpaceStartOptimum, traitSpaceStartPrecedence, traitSpan, traitSpeak, traitSpeakHeader, traitSpeakNumeral, traitSpeakPunctuation, traitSpeechRate, traitSrc, traitStartIndent, traitStartingState, traitStartsRow, traitStress, traitSuppressAtLineBreak, traitSwitchTo, traitSwitchToNames, traitTableLayout, traitTableOmitFooterAtBreak, traitTableOmitHeaderAtBreak, traitTargetPresentationContext, traitTargetProcessingContext, traitTargetStylesheet, traitTextAlign, traitTextAlignLast, traitTextAlignString, traitTextAltitude, traitTextDepth, traitTextIndent, traitTextShadow, traitTextTransform, traitThroughScore, traitThroughScoreColor, traitTop, traitTreatAsWordSpace, traitUnderlineScore, traitUnderlineScoreColor, traitUnicodeBidi, traitVisibility, traitVoiceFamily, traitVolume, traitWhiteSpaceCollapse, traitWhiteSpaceTreatment, traitWidows, traitWordSpacingConditionality, traitWordSpacingMax, traitWordSpacingMin, traitWordSpacingOpt, traitWordSpacingPrecedence, traitWrapOption, traitWritingMode, traitZIndex, traitZIndexIsAuto, validateAncestry, validateAtLeastOneChild, validateDescendants, validateEmptyContent, validateProperties
 
Methods inherited from class org.foray.common.AbstractOrderedTreeNode
children, getChildCount, getFirstChild, getFirstLeaf, getIndex, getLastChild, getLastLeaf, getLevel, getNextLeaf, getNextSibling, getPreviousLeaf, getPreviousSibling, getSharedAncestor, hasChildren, isLeaf, isNodeAncestor, isNodeDescendant, nextPostOrderNode, nextPreOrderNode, postOrderDescendantIterator, siblingIndex
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.axsl.fo.Fo
acceptProxyFactory, getChildAt, isValid
 
Methods inherited from interface javax.swing.tree.TreeNode
children, getChildCount, getIndex, isLeaf
 
Methods inherited from interface org.axsl.fo.fo.prop.CommonFontPa
getPrimaryFont
 

Constructor Detail

FObjMixed

protected FObjMixed(FObj parent,
                    PropertyList propertyList)
Constructor.

Parameters:
parent - The parent FObj.
propertyList - The property list for this FObj.
Method Detail

addCharacters

protected void addCharacters(char[] data,
                             int start,
                             int length,
                             String systemId,
                             int line,
                             int column)
Description copied from class: FObj
Adds text characters to the object. Since most FOs cannot have PCDATA content, the default behavior is to ignore white-space content, and to throw an exception for any other content. Subclasses should override this as appropriate.

Overrides:
addCharacters in class FObj
Parameters:
data - text
start - start position
length - length of the text
systemId - The systemId of the file containing the text being added (used in error messages).
line - The line number of the location of the text being added (used in error messages).
column - The columns number of the location of the text being added (used in error messages).

finalizeText

protected void finalizeText(org.axsl.fo.FoContext context)
                     throws org.axsl.fo.FoTreeException
Flushes any remaining text into an FOText item.

Parameters:
context - An object that knows how to resolve FoTree context issues.
Throws:
org.axsl.fo.FoTreeException - If the new text item cannot be added as a child to this.

blockMustEnclosePCDATA

public abstract boolean blockMustEnclosePCDATA()
Indicates whether any PCDATA (text) found in this element must have an ancestor block element.

Returns:
True iff PCDATA in this element must have an ancestor block element.

end

protected void end()
            throws org.axsl.fo.FoTreeException
Description copied from class: FObj
This method is a hook into the parsing process, primarily to allow the subclass to do some validation or setup work after the object and all of its properties have been parsed and all of its children processed.

Specified by:
end in class FObj
Throws:
org.axsl.fo.FoTreeException - For errors during validation or setup.

addChild

public void addChild(FObj child)
              throws org.axsl.fo.FoTreeException
Description copied from class: FObj
Add a child to this object.

Specified by:
addChild in class FObj
Parameters:
child - The child to be added.
Throws:
org.axsl.fo.FoTreeException - If the child cannot be added as a child for any reason, either because it an invalid type or is in the wrong order.

getTextBuffer

public StringBuilder getTextBuffer()
Returns the text buffer.

Returns:
Returns the textBuffer.

addTextNode

public abstract void addTextNode(AbstractCharacterSequence textNode)
                          throws org.axsl.fo.FoTreeException
Add a text node to the children of this object.

Parameters:
textNode - The text node to be added.
Throws:
org.axsl.fo.FoTreeException - If the new content is not valid.

addNonTextNode

public abstract void addNonTextNode(FObj nonTextNode)
                             throws org.axsl.fo.FoTreeException
Add a non-text node to the children of this object.

Parameters:
nonTextNode - The non-text node to be added.
Throws:
org.axsl.fo.FoTreeException - If the new content is not valid.

getPropertyList

public PropertyList getPropertyList()
Description copied from class: FObj
Returns the property list for this FObj.

Specified by:
getPropertyList in class FObj
Returns:
Returns the propertyList.


Copyright © 2017. All rights reserved.