AbstractResourceGroupContainer (Apache FOP Core 2.11 API)
Date: 2025-04-24

org.apache.fop.afp.modca

## Class AbstractResourceGroupContainer

- 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
          - - org.apache.fop.afp.modca.AbstractResourceGroupContainer

- All Implemented Interfaces:
    Completable, Streamable
  Direct Known Subclasses:
    AbstractResourceEnvironmentGroupContainer, PageObject

      public abstract class AbstractResourceGroupContainer
      extends AbstractPageObject

  An abstract container of resource objects

- - ### 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 ResourceGroup` | `resourceGroup` the resource group object
    `protected boolean` | `started` The container started state

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

      `activeEnvironmentGroup, complete, factory, invokeMediumMaps, objects, 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
    `AbstractResourceGroupContainer(Factory factory)` Default constructor
    `AbstractResourceGroupContainer(Factory factory, String name)` Named constructor
    `AbstractResourceGroupContainer(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
    --- | ---
    `protected boolean` | `canWrite(AbstractAFPObject obj)` Returns true if this object can be written
    `protected int` | `getResourceCount()` Return the number of resources in this container
    `ResourceGroup` | `getResourceGroup()` Returns the resource group in this resource group container
    `protected boolean` | `hasResources()` Returns true if this resource group container contains resources
    `protected void` | `writeObjects(Collection<AbstractAFPObject> objects, OutputStream os, boolean forceWrite)` Writes a collection of `AbstractAFPObject`s to the AFP Datastream.
    `protected void` | `writeObjects(Collection objects, OutputStream os)` Writes a collection of Streamable to the AFP Datastream.
    `void` | `writeToStream(OutputStream os)` DataStream objects must implement the writeToStream() method to write its data to the given OutputStream

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

      `addObject, createFont, createIncludePageSegment, createInvokeMediumMap, createLine, createNoOperation, createTagLogicalElement, createText, endPage, endPresentationObject, getActiveEnvironmentGroup, getHeight, getPresentationTextObject, getRotation, getTagLogicalElements, getWidth, isComplete, setComplete, writeContent`

    - ### 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`

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

      `copySF, truncate, writeChunksToStream`

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

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

- - ### Field Detail

    - #### started

          protected boolean started

      The container started state

    - #### resourceGroup

          protected ResourceGroup resourceGroup

      the resource group object

  - ### Constructor Detail

    - #### AbstractResourceGroupContainer

          public AbstractResourceGroupContainer(Factory factory)

      Default constructor
      Parameters:
        `factory` - the object factory

    - #### AbstractResourceGroupContainer

          public AbstractResourceGroupContainer(Factory factory,
                                                String name)

      Named constructor
      Parameters:
        `factory` - the object factory
        `name` - the name of this resource container

    - #### AbstractResourceGroupContainer

          public AbstractResourceGroupContainer(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

    - #### getResourceCount

          protected int getResourceCount()

      Return the number of resources in this container
      Returns:
        the number of resources in this container

    - #### hasResources

          protected boolean hasResources()

      Returns true if this resource group container contains resources
      Returns:
        true if this resource group container contains resources

    - #### getResourceGroup

          public ResourceGroup getResourceGroup()

      Returns the resource group in this resource group container
      Returns:
        the resource group in this resource group container

    - #### writeToStream

          public void writeToStream(OutputStream os)
                             throws IOException

      DataStream objects must implement the writeToStream() method to write its data to the given OutputStream
      Specified by:
        `writeToStream` in interface `Streamable`
      Overrides:
        `writeToStream` in class `AbstractStructuredObject`
      Parameters:
        `os` - the outputsteam stream
      Throws:
        `IOException` - an I/O exception of some sort has occurred.

    - #### writeObjects

          protected void writeObjects(Collection objects,
                                      OutputStream os)
                               throws IOException

      Writes a collection of Streamable to the AFP Datastream.
      Overrides:
        `writeObjects` in class `AbstractAFPObject`
      Parameters:
        `objects` - a list of AFPObjects
        `os` - The stream to write to
      Throws:
        `IOException` - an I/O exception of some sort has occurred.

    - #### writeObjects

          protected void writeObjects(Collection<AbstractAFPObject> objects,
                                      OutputStream os,
                                      boolean forceWrite)
                               throws IOException

      Writes a collection of `AbstractAFPObject`s to the AFP Datastream.
      Parameters:
        `objects` - a list of AFPObjects
        `os` - The stream to write to
        `forceWrite` - true if writing should happen in any case
      Throws:
        `IOException` - an I/O exception of some sort has occurred.

    - #### canWrite

          protected boolean canWrite(AbstractAFPObject obj)

      Returns true if this object can be written
      Parameters:
        `obj` - an AFP object
      Returns:
        true if this object can be written

Copyright © 2025 Apache Software Foundation. All rights reserved.