org.apache.fop.layoutmgr

Class ElementListUtils


public class ElementListUtils
extends java.lang.Object

Utilities for Knuth element lists.

Method Summary

static int
calcContentLength(List elems)
Calculates the content length of the given element list.
static int
calcContentLength(List elems, int start, int end)
Calculates the content length of the given element list.
static int
determinePreviousBreak(List elems, int startIndex)
Determines the position of the previous break before the start index on an element list.
static boolean
endsWithForcedBreak(LinkedList elems)
Indicates whether the given element list ends with a forced break.
static boolean
removeLegalBreaks(LinkedList elements, int constraint)
Removes legal breaks in an element list.
static boolean
removeLegalBreaks(LinkedList elements, MinOptMax constraint)
Removes legal breaks in an element list.
static boolean
removeLegalBreaksFromEnd(LinkedList elements, int constraint)
Removes legal breaks in an element list.

Method Details

calcContentLength

public static int calcContentLength(List elems)
Calculates the content length of the given element list. Warning: It doesn't take any stretch and shrink possibilities into account.
Parameters:
elems - the element list
Returns:
the content length

calcContentLength

public static int calcContentLength(List elems,
                                    int start,
                                    int end)
Calculates the content length of the given element list. Warning: It doesn't take any stretch and shrink possibilities into account.
Parameters:
elems - the element list
start - element at which to start
end - element at which to stop
Returns:
the content length

determinePreviousBreak

public static int determinePreviousBreak(List elems,
                                         int startIndex)
Determines the position of the previous break before the start index on an element list.
Parameters:
elems - the element list
startIndex - the start index
Returns:
the position of the previous break, or -1 if there was no previous break

endsWithForcedBreak

public static boolean endsWithForcedBreak(LinkedList elems)
Indicates whether the given element list ends with a forced break.
Parameters:
elems - the element list
Returns:
true if the list ends with a forced break

removeLegalBreaks

public static boolean removeLegalBreaks(LinkedList elements,
                                        int constraint)
Removes legal breaks in an element list. A constraint can be specified to limit the range in which the breaks are removed. Legal breaks occuring before at least constraint space is filled will be removed.
Parameters:
elements - the element list
constraint - value to restrict the range in which the breaks are removed.
Returns:
true if the constraint is bigger than the list contents

removeLegalBreaks

public static boolean removeLegalBreaks(LinkedList elements,
                                        MinOptMax constraint)
Removes legal breaks in an element list. A constraint can be specified to limit the range in which the breaks are removed. Legal breaks occuring before at least constraint.opt space is filled will be removed.
Parameters:
elements - the element list
constraint - min/opt/max value to restrict the range in which the breaks are removed.
Returns:
true if the opt constraint is bigger than the list contents

removeLegalBreaksFromEnd

public static boolean removeLegalBreaksFromEnd(LinkedList elements,
                                               int constraint)
Removes legal breaks in an element list. A constraint can be specified to limit the range in which the breaks are removed. Legal breaks within the space specified through the constraint (starting from the end of the element list) will be removed.
Parameters:
elements - the element list
constraint - value to restrict the range in which the breaks are removed.
Returns:
true if the constraint is bigger than the list contents

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