org.apache.fop.area

## Class RegionReference

- java.lang.Object
- - org.apache.fop.area.AreaTreeObject
  - - org.apache.fop.area.Area
    - - org.apache.fop.area.RegionReference

All Implemented Interfaces:
  Serializable, Cloneable

Direct Known Subclasses:
  BodyRegion

    public class RegionReference
    extends Area

This is a region reference area for a page regions. This area is the direct child of a region-viewport-area. It is cloneable so the page master can make copies from the original page and regions.

See Also:
  Serialized Form

### Field Summary

Fields
`protected RegionViewport` `regionViewport` the parent `RegionViewport` for this object

### Fields inherited from class org.apache.fop.area.Area

`bidiLevel, bpd, CLASS_ABSOLUTE, CLASS_BEFORE_FLOAT, CLASS_FIXED, CLASS_FOOTNOTE, CLASS_MAX, CLASS_NORMAL, CLASS_SIDE_FLOAT, effectiveIPD, ipd, log, ORIENT_0, ORIENT_180, ORIENT_270, ORIENT_90, traits`

### Fields inherited from class org.apache.fop.area.AreaTreeObject

`extensionAttachments, foreignAttributes`

### Constructor Summary

Constructors
Constructor and Description
`RegionReference(int regionClass, String regionName, RegionViewport parent)` Create a new region reference area.
`RegionReference(Region regionFO, RegionViewport parent)` Create a new region reference area.

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `addBlock(Block block)` Add a block area to this region reference area.
`void` `addChildArea(Area child)` Add a child to this area.
`Object` `clone()`
`List<Area>` `getBlocks()` Get the block in this region.
`CTM` `getCTM()` Get the current transform of this region.
`int` `getRegionClass()` Get the region class of this region.
`String` `getRegionName()`
`RegionViewport` `getRegionViewport()`
`boolean` `isEmpty()` indicates whether the main reference area has any child areas added to it
`void` `setCTM(CTM ctm)` Set the Coordinate Transformation Matrix which transforms content coordinates in this region reference area which are specified in terms of "start" and "before" into coordinates in a system which is positioned in "absolute" directions (with origin at lower left of the region reference area.
`String` `toString()`

### Methods inherited from class org.apache.fop.area.Area

`activateEffectiveIPD, addTrait, getAllocBPD, getAllocIPD, getAreaClass, getBidiLevel, getBorderAndPaddingWidthAfter, getBorderAndPaddingWidthBefore, getBorderAndPaddingWidthEnd, getBorderAndPaddingWidthStart, getBPD, getChangeBarList, getEffectiveAllocIPD, getEffectiveIPD, getIPD, getSpaceAfter, getSpaceBefore, getSpaceEnd, getSpaceStart, getTrait, getTraitAsBoolean, getTraitAsInteger, getTraits, hasTrait, hasTraits, isFromFootnote, resetBidiLevel, setAreaClass, setBidiLevel, setBPD, setChangeBarList, setFromFootnote, setIPD, setTraits, setWritingModeTraits`

### Methods inherited from class org.apache.fop.area.AreaTreeObject

`addExtensionAttachment, getExtensionAttachments, getForeignAttributes, getForeignAttributeValue, hasExtensionAttachments, setExtensionAttachments, setForeignAttribute, setForeignAttributes`

### Methods inherited from class java.lang.Object

`equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Field Detail

#### regionViewport

    protected RegionViewport regionViewport

the parent `RegionViewport` for this object

### Constructor Detail

#### RegionReference

    public RegionReference(Region regionFO,
                           RegionViewport parent)

Create a new region reference area.

Parameters:
  `regionFO` - the region.
  `parent` - the viewport for this region.

#### RegionReference

    public RegionReference(int regionClass,
                           String regionName,
                           RegionViewport parent)

Create a new region reference area.

Parameters:
  `regionClass` - the region class (as returned by Region.getNameId())
  `regionName` - the name of the region (as returned by Region.getRegionName())
  `parent` - the viewport for this region.

### Method Detail

#### addChildArea

    public void addChildArea(Area child)

Add a child to this area. The default is to do nothing. Subclasses must override to do something if they can have child areas.

Overrides:
  `addChildArea` in class `Area`
Parameters:
  `child` - the child area to add

#### setCTM

    public void setCTM(CTM ctm)

Set the Coordinate Transformation Matrix which transforms content coordinates in this region reference area which are specified in terms of "start" and "before" into coordinates in a system which is positioned in "absolute" directions (with origin at lower left of the region reference area.

Parameters:
  `ctm` - the current transform to position this region

#### getRegionViewport

    public RegionViewport getRegionViewport()

Returns:
  Returns the parent RegionViewport.

#### getCTM

    public CTM getCTM()

Get the current transform of this region.

Returns:
  ctm the current transform to position this region

#### getBlocks

    public List<Area> getBlocks()

Get the block in this region.

Returns:
  the list of blocks in this region

#### getRegionClass

    public int getRegionClass()

Get the region class of this region.

Returns:
  the region class

#### getRegionName

    public String getRegionName()

Returns:
  the region name

#### addBlock

    public void addBlock(Block block)

Add a block area to this region reference area.

Parameters:
  `block` - the block area to add

#### isEmpty

    public boolean isEmpty()

indicates whether the main reference area has any child areas added to it

Returns:
  whether the main reference area has any child areas added to it

#### clone

    public Object clone()
                 throws CloneNotSupportedException

Overrides:
  `clone` in class `Area`
Throws:
  `CloneNotSupportedException`

#### toString

    public String toString()

Overrides:
  `toString` in class `Area`
Returns:
  ipd and bpd of area