org.apache.fop.afp.modca

## Class AbstractPageObject

- java.lang.Object
- - org.apache.fop.afp.modca.AbstractAFPObject
  - - org.apache.fop.afp.modca.AbstractStructuredObject
    - - org.apache.fop.afp.modca.AbstractTripletStructuredObject
      - - org.apache.fop.afp.modca.AbstractNamedAFPObject
        - - org.apache.fop.afp.modca.AbstractPageObject

- All Implemented Interfaces:
    Completable, Streamable
  Direct Known Subclasses:
    AbstractResourceGroupContainer

      public abstract class AbstractPageObject
      extends AbstractNamedAFPObject
      implements Completable

  Pages contain the data objects that comprise a presentation document. Each page has a set of data objects associated with it. Each page within a document is independent from any other page, and each must establish its own environment parameters.

  The page is the level in the document component hierarchy that is used for printing or displaying a document's content. The data objects contained in the page envelope in the data stream are presented when the page is presented. Each data object has layout information associated with it that directs the placement and orientation of the data on the page. In addition, each page contains layout information that specifies the measurement units, page width, and page depth.

  A page is initiated by a begin page structured field and terminated by an end page structured field. Structured fields that define objects and active environment groups or that specify attributes of the page may be encountered in page state.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.apache.fop.afp.modca.AbstractAFPObject

      `AbstractAFPObject.Category, AbstractAFPObject.Type`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected ActiveEnvironmentGroup` | `activeEnvironmentGroup` The active environment group for the page
    `protected boolean` | `complete` The page state
    `protected Factory` | `factory` the object factory
    `protected List<InvokeMediumMap>` | `invokeMediumMaps`
    `protected List` | `objects` The list of objects within this resource container
    `protected int` | `rotation` The page rotation

    - ### Fields inherited from class org.apache.fop.afp.modca.AbstractNamedAFPObject

      `name`

    - ### Fields inherited from class org.apache.fop.afp.modca.AbstractTripletStructuredObject

      `triplets`

    - ### Fields inherited from class org.apache.fop.afp.modca.AbstractAFPObject

      `LOG, SF_CLASS, SF_HEADER_LENGTH`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `AbstractPageObject(Factory factory)` Default constructor
    `AbstractPageObject(Factory factory, String name)` Main constructor
    `AbstractPageObject(Factory factory, String name, int width, int height, int rotation, int widthRes, int heightRes)` Construct a new page object for the specified name argument, the page name should be an 8 character identifier.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addObject(Object obj)` Adds an AFP object reference to this page
    `void` | `createFont(int fontReference, AFPFont font, int size)` Helper method to create a map coded font object on the current page, this method delegates the construction of the map coded font object to the active environment group on the page.
    `void` | `createIncludePageSegment(String name, int x, int y, boolean hard)` Creates an IncludePageSegment on the current page.
    `void` | `createInvokeMediumMap(String name)`
    `void` | `createLine(AFPLineDataInfo lineDataInfo)` Helper method to create a line on the current page, this method delegates to the presentation text object in order to construct the line.
    `void` | `createNoOperation(String content)` Creates a NoOperation on the page.
    `void` | `createTagLogicalElement(TagLogicalElement.State state)` Creates a TagLogicalElement on the page.
    `void` | `createText(PtocaProducer producer)` Helper method to create text on the current page, this method delegates to the presentation text object in order to construct the text.
    `void` | `endPage()` Helper method to mark the end of the page.
    `void` | `endPresentationObject()` Ends the presentation text object
    `ActiveEnvironmentGroup` | `getActiveEnvironmentGroup()` Returns the ActiveEnvironmentGroup associated with this page.
    `int` | `getHeight()` Returns the height of the page
    `PresentationTextObject` | `getPresentationTextObject()` Helper method to create a presentation text object on the current page and to return the object.
    `int` | `getRotation()` Returns the rotation of the page
    `protected List` | `getTagLogicalElements()` Returns the list of `TagLogicalElement`s.
    `int` | `getWidth()` Returns the width of the page
    `boolean` | `isComplete()` Returns true if this object is complete
    `void` | `setComplete(boolean complete)` Sets whether or not this object is complete or not
    `protected void` | `writeContent(OutputStream os)` Helper method to write the contents of the Object.

    - ### Methods inherited from class org.apache.fop.afp.modca.AbstractNamedAFPObject

      `copySF, getName, getNameBytes, getNameLength, setName, toString`

    - ### Methods inherited from class org.apache.fop.afp.modca.AbstractTripletStructuredObject

      `addTriplet, addTriplets, getFullyQualifiedName, getTripletDataLength, getTriplets, hasTriplet, hasTriplets, setComment, setFullyQualifiedName, setFullyQualifiedName, setObjectClassification, writeTriplets`

    - ### Methods inherited from class org.apache.fop.afp.modca.AbstractStructuredObject

      `writeEnd, writeStart, writeToStream`

    - ### Methods inherited from class org.apache.fop.afp.modca.AbstractAFPObject

      `copySF, truncate, writeChunksToStream, writeObjects`

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

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

- - ### Field Detail

    - #### activeEnvironmentGroup

          protected ActiveEnvironmentGroup activeEnvironmentGroup

      The active environment group for the page

    - #### objects

          protected List objects

      The list of objects within this resource container

    - #### invokeMediumMaps

          protected List<InvokeMediumMap> invokeMediumMaps

    - #### rotation

          protected int rotation

      The page rotation

    - #### complete

          protected boolean complete

      The page state

    - #### factory

          protected final Factory factory

      the object factory

  - ### Constructor Detail

    - #### AbstractPageObject

          public AbstractPageObject(Factory factory)

      Default constructor
      Parameters:
        `factory` - the object factory

    - #### AbstractPageObject

          public AbstractPageObject(Factory factory,
                                    String name)

      Main constructor
      Parameters:
        `factory` - the object factory
        `name` - the name of this page object

    - #### AbstractPageObject

          public AbstractPageObject(Factory factory,
                                    String name,
                                    int width,
                                    int height,
                                    int rotation,
                                    int widthRes,
                                    int heightRes)

      Construct a new page object for the specified name argument, the page name should be an 8 character identifier.
      Parameters:
        `factory` - the object factory.
        `name` - the name of the page.
        `width` - the width of the page.
        `height` - the height of the page.
        `rotation` - the rotation of the page.
        `widthRes` - the width resolution of the page.
        `heightRes` - the height resolution of the page.

  - ### Method Detail

    - #### createFont

          public void createFont(int fontReference,
                                 AFPFont font,
                                 int size)

      Helper method to create a map coded font object on the current page, this method delegates the construction of the map coded font object to the active environment group on the page.
      Parameters:
        `fontReference` - the font number used as the resource identifier
        `font` - the font
        `size` - the point size of the font

    - #### createLine

          public void createLine(AFPLineDataInfo lineDataInfo)

      Helper method to create a line on the current page, this method delegates to the presentation text object in order to construct the line.
      Parameters:
        `lineDataInfo` - the line data information.

    - #### createText

          public void createText(PtocaProducer producer)
                          throws UnsupportedEncodingException

      Helper method to create text on the current page, this method delegates to the presentation text object in order to construct the text.
      Parameters:
        `producer` - the producer
      Throws:
        `UnsupportedEncodingException` - thrown if character encoding is not supported

    - #### createInvokeMediumMap

          public void createInvokeMediumMap(String name)

    - #### endPage

          public void endPage()

      Helper method to mark the end of the page. This should end the control sequence on the current presentation text object.

    - #### endPresentationObject

          public void endPresentationObject()

      Ends the presentation text object

    - #### getPresentationTextObject

          public PresentationTextObject getPresentationTextObject()

      Helper method to create a presentation text object on the current page and to return the object.
      Returns:
        the presentation text object

    - #### getTagLogicalElements

          protected List getTagLogicalElements()

      Returns the list of `TagLogicalElement`s.
      Returns:
        the TLEs

    - #### createTagLogicalElement

          public void createTagLogicalElement(TagLogicalElement.State state)

      Creates a TagLogicalElement on the page.
      Parameters:
        `state` - the state of the TLE

    - #### createNoOperation

          public void createNoOperation(String content)

      Creates a NoOperation on the page.
      Parameters:
        `content` - the byte data

    - #### createIncludePageSegment

          public void createIncludePageSegment(String name,
                                               int x,
                                               int y,
                                               boolean hard)

      Creates an IncludePageSegment on the current page.
      Parameters:
        `name` - the name of the page segment
        `x` - the x coordinate of the page segment.
        `y` - the y coordinate of the page segment.
        `hard` - true if hard page segment possible

    - #### getActiveEnvironmentGroup

          public ActiveEnvironmentGroup getActiveEnvironmentGroup()

      Returns the ActiveEnvironmentGroup associated with this page.
      Returns:
        the ActiveEnvironmentGroup object

    - #### getHeight

          public int getHeight()

      Returns the height of the page
      Returns:
        the height of the page

    - #### getWidth

          public int getWidth()

      Returns the width of the page
      Returns:
        the width of the page

    - #### getRotation

          public int getRotation()

      Returns the rotation of the page
      Returns:
        the rotation of the page

    - #### writeContent

          protected void writeContent(OutputStream os)
                               throws IOException

      Helper method to write the contents of the Object.
      Overrides:
        `writeContent` in class `AbstractStructuredObject`
      Parameters:
        `os` - The stream to write to
      Throws:
        `IOException` - throws an I/O exception if one occurred

    - #### addObject

          public void addObject(Object obj)

      Adds an AFP object reference to this page
      Parameters:
        `obj` - an AFP object

    - #### setComplete

          public void setComplete(boolean complete)

      Sets whether or not this object is complete or not
      Specified by:
        `setComplete` in interface `Completable`
      Parameters:
        `complete` - true if this object is complete

    - #### isComplete

          public boolean isComplete()

      Returns true if this object is complete
      Specified by:
        `isComplete` in interface `Completable`
      Returns:
        true if this object is complete

Copyright © 2023 Apache Software Foundation. All rights reserved.