Package org.apache.fop.layoutmgr
Class SpaceResolver
java.lang.Object
org.apache.fop.layoutmgr.SpaceResolver
This class resolves spaces and conditional borders and paddings by replacing the
UnresolvedListElements descendants by the right combination of KnuthElements on an element
list.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
Position class for break possibilities.static class
Position class for no-break situations. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate BreakElement
private UnresolvedListElementWithLength[]
private MinOptMax[]
private boolean
private boolean
private static final org.apache.commons.logging.Log
Logger instanceprivate UnresolvedListElementWithLength[]
private MinOptMax[]
private UnresolvedListElementWithLength[]
private MinOptMax[]
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprivate
SpaceResolver
(List first, BreakElement breakPoss, List second, boolean isFirst, boolean isLast) Main constructor. -
Method Summary
Modifier and TypeMethodDescriptionprivate void
generate
(ListIterator iter) private boolean
private boolean
static void
performConditionalsNotification
(List effectiveList, int startElementIndex, int endElementIndex, int prevBreak) Inspects an effective element list and notifies all layout managers about the state of the spaces and conditional lengths.private void
performSpaceResolutionRule1
(UnresolvedListElement[] elems, MinOptMax[] lengths, boolean reverse) private void
performSpaceResolutionRules2to3
(UnresolvedListElement[] elems, MinOptMax[] lengths) private void
performSpaceResolutionRules2to3
(UnresolvedListElement[] elems, MinOptMax[] lengths, int start, int end) private void
removeConditionalBorderAndPadding
(UnresolvedListElement[] elems, MinOptMax[] lengths, boolean reverse) private void
resolve()
static void
resolveElementList
(List elems) Resolves unresolved elements applying the space resolution rules defined in 4.3.1.private MinOptMax
private String
-
Field Details
-
LOG
private static final org.apache.commons.logging.Log LOGLogger instance -
firstPart
-
breakPoss
-
secondPart
-
noBreak
-
firstPartLengths
-
secondPartLengths
-
noBreakLengths
-
isFirst
private boolean isFirst -
isLast
private boolean isLast
-
-
Constructor Details
-
SpaceResolver
private SpaceResolver(List first, BreakElement breakPoss, List second, boolean isFirst, boolean isLast) Main constructor.- Parameters:
first
- Element list before a break (optional)breakPoss
- Break possibility (optional)second
- Element list after a break (or if no break possibility in vicinity)isFirst
- Resolution at the beginning of a (full) element listisLast
- Resolution at the end of a (full) element list
-
-
Method Details
-
toString
-
removeConditionalBorderAndPadding
private void removeConditionalBorderAndPadding(UnresolvedListElement[] elems, MinOptMax[] lengths, boolean reverse) -
performSpaceResolutionRule1
private void performSpaceResolutionRule1(UnresolvedListElement[] elems, MinOptMax[] lengths, boolean reverse) -
performSpaceResolutionRules2to3
private void performSpaceResolutionRules2to3(UnresolvedListElement[] elems, MinOptMax[] lengths, int start, int end) -
performSpaceResolutionRules2to3
-
hasFirstPart
private boolean hasFirstPart() -
hasSecondPart
private boolean hasSecondPart() -
resolve
private void resolve() -
sum
-
generate
-
resolveElementList
Resolves unresolved elements applying the space resolution rules defined in 4.3.1.- Parameters:
elems
- the element list
-
performConditionalsNotification
public static void performConditionalsNotification(List effectiveList, int startElementIndex, int endElementIndex, int prevBreak) Inspects an effective element list and notifies all layout managers about the state of the spaces and conditional lengths.- Parameters:
effectiveList
- the effective element liststartElementIndex
- index of the first element in the part to be processedendElementIndex
- index of the last element in the part to be processedprevBreak
- index of the the break possibility just before this part (used to identify a break condition, lastBreak <= 0 represents a no-break condition)
-