fop 1.1

## org.apache.fop.layoutmgr
Class AbstractBaseLayoutManager

    java.lang.Object
      org.apache.fop.layoutmgr.AbstractBaseLayoutManager

All Implemented Interfaces:
  PercentBaseContext, LayoutManager

Direct Known Subclasses:
  AbstractLayoutManager, ContentLayoutManager

    public abstract class AbstractBaseLayoutManager

extends java.lang.Object
implements LayoutManager, PercentBaseContext

The base class for nearly all LayoutManagers. Provides the functionality for merging the `LayoutManager` and the `PercentBaseContext` interfaces into a common base class for all higher LayoutManagers.

Field Summary
`protected FObj` `fobj` The formatting object for this LM.
`protected boolean` `generatesBlockArea` Indicator if this LM generates block areas.
`protected boolean` `generatesReferenceArea` Indicator if this LM generates reference areas.

Constructor Summary
`AbstractBaseLayoutManager()` Abstract base layout manager.
`AbstractBaseLayoutManager(FObj fo)` Abstract base layout manager.

Method Summary
`protected int` `getAncestorBlockAreaBPD()` Find the first ancestor area that is a block area and returns its BPD.
`protected int` `getAncestorBlockAreaIPD()` Find the first ancestor area that is a block area and returns its IPD.
`int` `getBaseLength(int lengthBase, FObj fobjx)` Returns the base length for the given length base.
`int` `getContentAreaBPD()` Returns the BPD of the content area
`int` `getContentAreaIPD()` Returns the IPD of the content area
`FObj` `getFObj()` Returns the fo this layout manager is associated with.
`boolean` `getGeneratesBlockArea()` Returns an indication if the layout manager generates a block area.
`boolean` `getGeneratesLineArea()` Returns an indication if the layout manager generates a line area.
`boolean` `getGeneratesReferenceArea()` Returns an indication if the layout manager generates a reference area.
`java.util.List` `getNextKnuthElements(LayoutContext context, int alignment, java.util.Stack lmStack, Position positionAtIPDChange, LayoutManager restartAtLM)` Returns an updated list of Knuth elements corresponding to this layout manager, after a change of IPD has been detected.
`protected int` `getParentAreaBPD()` Find the parent area and returns its BPD.
`protected int` `getParentAreaIPD()` Find the parent area and returns its IPD.
`protected int` `getReferenceAreaBPD()` Find the first ancestor area that is a reference area and returns its BPD.
`int` `getReferenceAreaIPD()` Find the first ancestor area that is a reference area and returns its IPD.
`boolean` `isRestartable()` Returns `true` if this layout manager is able to re-generate its Knuth elements after an IPD change.
`void` `reset()` Re-initializes this layout manager in order to re-generate its Knuth elements according to a new IPD value.
`protected void` `setGeneratesBlockArea(boolean generatesBlockArea)` Lets implementing LM set the flag indicating if they generate block areas.
`protected void` `setGeneratesReferenceArea(boolean generatesReferenceArea)` Lets implementing LM set the flag indicating if they generate reference areas.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface org.apache.fop.layoutmgr.LayoutManager
`addAreas, addChildArea, addChildLM, addChildLMs, createNextChildLMs, getChangedKnuthElements, getChildLMs, getNextKnuthElements, getParent, getParentArea, getPSLM, initialize, isFinished, notifyPos, setFinished, setParent`

Field Detail

### generatesReferenceArea

    protected boolean generatesReferenceArea

  Indicator if this LM generates reference areas.

### generatesBlockArea

    protected boolean generatesBlockArea

  Indicator if this LM generates block areas.

### fobj

    protected final FObj fobj

  The formatting object for this LM.

Constructor Detail

### AbstractBaseLayoutManager

    public AbstractBaseLayoutManager()

  Abstract base layout manager.

### AbstractBaseLayoutManager

    public AbstractBaseLayoutManager(FObj fo)

  Abstract base layout manager.

  Parameters:
    `fo` - the formatting object for this layout manager

Method Detail

### getBaseLength

    public int getBaseLength(int lengthBase,
                             FObj fobjx)

  Returns the base length for the given length base. Length base should be one of the constants defined in `LengthBase`.

  Specified by:
    `getBaseLength` in interface `PercentBaseContext`
  Parameters:
    `lengthBase` - Indicates which type of the base length value is to be returned
    `fobjx` - The FO object against which the percentage should be evaluated
  Returns:
    The base length value of the given kind

### getAncestorBlockAreaIPD

    protected int getAncestorBlockAreaIPD()

  Find the first ancestor area that is a block area and returns its IPD.

  Returns:
    the ipd of the ancestor block area

### getAncestorBlockAreaBPD

    protected int getAncestorBlockAreaBPD()

  Find the first ancestor area that is a block area and returns its BPD.

  Returns:
    the bpd of the ancestor block area

### getParentAreaIPD

    protected int getParentAreaIPD()

  Find the parent area and returns its IPD.

  Returns:
    the ipd of the parent area

### getParentAreaBPD

    protected int getParentAreaBPD()

  Find the parent area and returns its BPD.

  Returns:
    the bpd of the parent area

### getReferenceAreaIPD

    public int getReferenceAreaIPD()

  Find the first ancestor area that is a reference area and returns its IPD.

  Returns:
    the ipd of the ancestor reference area

### getReferenceAreaBPD

    protected int getReferenceAreaBPD()

  Find the first ancestor area that is a reference area and returns its BPD.

  Returns:
    the bpd of the ancestor reference area

### getContentAreaIPD

    public int getContentAreaIPD()

  Returns the IPD of the content area NOTE: Should be overridden by subclasses. Default implementation throws an `UnsupportedOperationException`.

  Specified by:
    `getContentAreaIPD` in interface `LayoutManager`
  Returns:
    the IPD of the content area

### getContentAreaBPD

    public int getContentAreaBPD()

  Returns the BPD of the content area NOTE: Should be overridden by subclasses. Default implementation throws an `UnsupportedOperationException`.

  Specified by:
    `getContentAreaBPD` in interface `LayoutManager`
  Returns:
    the BPD of the content area

### getGeneratesReferenceArea

    public boolean getGeneratesReferenceArea()

  Returns an indication if the layout manager generates a reference area.

  Specified by:
    `getGeneratesReferenceArea` in interface `LayoutManager`
  Returns:
    True if the layout manager generates a reference area

### setGeneratesReferenceArea

    protected void setGeneratesReferenceArea(boolean generatesReferenceArea)

  Lets implementing LM set the flag indicating if they generate reference areas.

  Parameters:
    `generatesReferenceArea` - if true the areas generates by this LM are reference areas.

### getGeneratesBlockArea

    public boolean getGeneratesBlockArea()

  Returns an indication if the layout manager generates a block area.

  Specified by:
    `getGeneratesBlockArea` in interface `LayoutManager`
  Returns:
    True if the layout manager generates a block area

### setGeneratesBlockArea

    protected void setGeneratesBlockArea(boolean generatesBlockArea)

  Lets implementing LM set the flag indicating if they generate block areas.

  Parameters:
    `generatesBlockArea` - if true the areas generates by this LM are block areas.

### getGeneratesLineArea

    public boolean getGeneratesLineArea()

  Returns an indication if the layout manager generates a line area.

  Specified by:
    `getGeneratesLineArea` in interface `LayoutManager`
  Returns:
    True if the layout manager generates a line area

### getFObj

    public FObj getFObj()

  Returns the fo this layout manager is associated with.

  Specified by:
    `getFObj` in interface `LayoutManager`
  Returns:
    The fo for this layout manager or null.

### reset

    public void reset()

  Re-initializes this layout manager in order to re-generate its Knuth elements according to a new IPD value.

  Specified by:
    `reset` in interface `LayoutManager`

### isRestartable

    public boolean isRestartable()

  Returns `true` if this layout manager is able to re-generate its Knuth elements after an IPD change.

  Specified by:
    `isRestartable` in interface `LayoutManager`
  Returns:
    `true` if this layout manager can be restarted after an IPD change

### getNextKnuthElements

    public java.util.List getNextKnuthElements(LayoutContext context,
                                               int alignment,
                                               java.util.Stack lmStack,
                                               Position positionAtIPDChange,
                                               LayoutManager restartAtLM)

  Returns an updated list of Knuth elements corresponding to this layout manager, after a change of IPD has been detected.

  Specified by:
    `getNextKnuthElements` in interface `LayoutManager`
  Parameters:
    `context` - the layout context
    `alignment` - the alignment
    `lmStack` - the stack of LMs that are active at the IPD change
    `positionAtIPDChange` - the position corresponding to the element finishing the page before the IPD change
    `restartAtLM` - if not null, the layout manager from which to restart. That is, the IPD change occurs between two block elements and not inside a paragraph
  Returns:
    an updated list of elements, taking the new IPD into account

fop 1.1

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