fop 1.0

org.apache.fop.layoutmgr
Class KnuthSequence

java.lang.Object
  extended by java.util.AbstractCollection
      extended by java.util.AbstractList
          extended by java.util.ArrayList
              extended by org.apache.fop.layoutmgr.KnuthSequence
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, java.lang.Iterable, java.util.Collection, java.util.List, java.util.RandomAccess
Direct Known Subclasses:
BlockKnuthSequence, InlineKnuthSequence

public abstract class KnuthSequence
extends java.util.ArrayList

Represents a list of Knuth elements.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class java.util.AbstractList
modCount
 
Constructor Summary
KnuthSequence()
          Creates a new and empty list.
KnuthSequence(java.util.List list)
          Creates a new list from an existing list.
 
Method Summary
abstract  boolean appendSequence(KnuthSequence sequence)
          Append sequence to this sequence if it can be appended.
abstract  boolean appendSequence(KnuthSequence sequence, boolean keepTogether, BreakElement breakElement)
          Append sequence to this sequence if it can be appended.
 boolean appendSequenceOrClose(KnuthSequence sequence)
          Append sequence to this sequence if it can be appended.
 boolean appendSequenceOrClose(KnuthSequence sequence, boolean keepTogether, BreakElement breakElement)
          Append sequence to this sequence if it can be appended.
abstract  boolean canAppendSequence(KnuthSequence sequence)
          Can sequence be appended to this sequence?
abstract  KnuthSequence endSequence()
          Finalizes a Knuth sequence.
 ListElement getElement(int index)
           
protected  int getFirstBoxIndex()
           
protected  int getFirstBoxIndex(int startIndex)
          Get the position index of the first box in this sequence, starting at the given index.
 ListElement getLast()
           
abstract  boolean isInlineSequence()
          Is this an inline or a block sequence?
 ListElement removeLast()
          Remove the last element of this sequence.
 void startSequence()
          Marks the start of the sequence.
 java.lang.String toString()
          
 void wrapPositions(LayoutManager lm)
          Wrap the Positions of the elements of this sequence in a Position for LayoutManager lm.
 
Methods inherited from class java.util.ArrayList
add, add, addAll, addAll, clear, clone, contains, ensureCapacity, get, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, removeRange, retainAll, set, size, subList, toArray, toArray, trimToSize
 
Methods inherited from class java.util.AbstractList
equals, hashCode
 
Methods inherited from class java.util.AbstractCollection
containsAll
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.List
containsAll, equals, hashCode
 

Constructor Detail

KnuthSequence

public KnuthSequence()
Creates a new and empty list.


KnuthSequence

public KnuthSequence(java.util.List list)
Creates a new list from an existing list.

Parameters:
list - The list from which to create the new list.
Method Detail

startSequence

public void startSequence()
Marks the start of the sequence.


endSequence

public abstract KnuthSequence endSequence()
Finalizes a Knuth sequence.

Returns:
a finalized sequence.

canAppendSequence

public abstract boolean canAppendSequence(KnuthSequence sequence)
Can sequence be appended to this sequence?

Parameters:
sequence - The sequence that may be appended.
Returns:
whether the sequence can be appended to this sequence.

appendSequence

public abstract boolean appendSequence(KnuthSequence sequence,
                                       boolean keepTogether,
                                       BreakElement breakElement)
Append sequence to this sequence if it can be appended.

Parameters:
sequence - The sequence that is to be appended.
keepTogether - Whether the two sequences must be kept together.
breakElement - The BreakElement that may be inserted between the two sequences.
Returns:
whether the sequence was succesfully appended to this sequence.

appendSequence

public abstract boolean appendSequence(KnuthSequence sequence)
Append sequence to this sequence if it can be appended.

Parameters:
sequence - The sequence that is to be appended.
Returns:
whether the sequence was succesfully appended to this sequence.

appendSequenceOrClose

public boolean appendSequenceOrClose(KnuthSequence sequence)
Append sequence to this sequence if it can be appended. If that is not possible, close this sequence.

Parameters:
sequence - The sequence that is to be appended.
Returns:
whether the sequence was succesfully appended to this sequence.

appendSequenceOrClose

public boolean appendSequenceOrClose(KnuthSequence sequence,
                                     boolean keepTogether,
                                     BreakElement breakElement)
Append sequence to this sequence if it can be appended. If that is not possible, close this sequence.

Parameters:
sequence - The sequence that is to be appended.
keepTogether - Whether the two sequences must be kept together.
breakElement - The BreakElement that may be inserted between the two sequences.
Returns:
whether the sequence was succesfully appended to this sequence.

wrapPositions

public void wrapPositions(LayoutManager lm)
Wrap the Positions of the elements of this sequence in a Position for LayoutManager lm.

Parameters:
lm - The LayoutManager for the Positions that will be created.

getLast

public ListElement getLast()
Returns:
the last element of this sequence.

removeLast

public ListElement removeLast()
Remove the last element of this sequence.

Returns:
the removed element.

getElement

public ListElement getElement(int index)
Parameters:
index - The index of the element to be returned
Returns:
the element at index index.

getFirstBoxIndex

protected int getFirstBoxIndex()
Returns:
the position index of the first box in this sequence

getFirstBoxIndex

protected int getFirstBoxIndex(int startIndex)
Get the position index of the first box in this sequence, starting at the given index. If there is no box after the passed startIndex, the starting index itself is returned.

Parameters:
startIndex - the starting index for the lookup
Returns:
the absolute position index of the next box element

isInlineSequence

public abstract boolean isInlineSequence()
Is this an inline or a block sequence?

Returns:
true if this is an inline sequence

toString

public java.lang.String toString()

Overrides:
toString in class java.util.AbstractCollection

fop 1.0

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