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

org.apache.fop.afp.goca

## Class GraphicsData

- 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.goca.AbstractGraphicsDrawingOrderContainer
          - - org.apache.fop.afp.goca.GraphicsData

- All Implemented Interfaces:
    Completable, Startable, Streamable, StructuredData

      public final class GraphicsData
      extends AbstractGraphicsDrawingOrderContainer

  A GOCA graphics data

- - ### 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
    --- | ---
    `static int` | `MAX_DATA_LEN` the maximum graphics data length

    - ### Fields inherited from class org.apache.fop.afp.goca.AbstractGraphicsDrawingOrderContainer

      `objects`

    - ### 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
    `GraphicsData()` Main constructor

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addObject(StructuredData object)` Adds a given graphics object to this container
    `void` | `addSegment(GraphicsChainedSegment segment)` Adds the given segment to this graphics data
    `String` | `createSegmentName()` Returns a new segment name
    `int` | `getDataLength()` Returns the current data length
    `GraphicsChainedSegment` | `newSegment()` Creates a new graphics segment.
    `GraphicsChainedSegment` | `newSegment(boolean appended, boolean prologPresent)` Creates a new graphics segment.
    `StructuredData` | `removeCurrentSegment()` Removes the current segment from this graphics data
    `void` | `setSegmentedData(boolean segmented)` Sets the indicator that this instance is a part of a series of segmented data chunks.
    `String` | `toString()`
    `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.goca.AbstractGraphicsDrawingOrderContainer

      `addAll, isComplete, isStarted, removeLast, setComplete, setStarted, writeContent, writeStart`

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

      `copySF, getName, getNameBytes, getNameLength, setName`

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

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

    - #### MAX_DATA_LEN

          public static final int MAX_DATA_LEN

      the maximum graphics data length
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### GraphicsData

          public GraphicsData()

      Main constructor

  - ### Method Detail

    - #### getDataLength

          public int getDataLength()

      Returns the current data length
      Specified by:
        `getDataLength` in interface `StructuredData`
      Overrides:
        `getDataLength` in class `AbstractGraphicsDrawingOrderContainer`
      Returns:
        the current data length of this container including all enclosed objects (and their containers)

    - #### setSegmentedData

          public void setSegmentedData(boolean segmented)

      Sets the indicator that this instance is a part of a series of segmented data chunks. This indirectly sets the SegFlag on the SFI header.
      Parameters:
        `segmented` - true if this data object is not the last of the series

    - #### createSegmentName

          public String createSegmentName()

      Returns a new segment name
      Returns:
        a new segment name

    - #### newSegment

          public GraphicsChainedSegment newSegment()

      Creates a new graphics segment.
      Returns:
        a newly created graphics segment

    - #### newSegment

          public GraphicsChainedSegment newSegment(boolean appended,
                                                   boolean prologPresent)

      Creates a new graphics segment.
      Parameters:
        `appended` - true if this segment is appended to the previous one
        `prologPresent` - true if started with a prolog
      Returns:
        a newly created graphics segment

    - #### addObject

          public void addObject(StructuredData object)

      Adds a given graphics object to this container
      Overrides:
        `addObject` in class `AbstractGraphicsDrawingOrderContainer`
      Parameters:
        `object` - the structured data object

    - #### removeCurrentSegment

          public StructuredData removeCurrentSegment()

      Removes the current segment from this graphics data
      Returns:
        the current segment from this graphics data

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

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `AbstractNamedAFPObject`

    - #### addSegment

          public void addSegment(GraphicsChainedSegment segment)

      Adds the given segment to this graphics data
      Parameters:
        `segment` - a graphics chained segment

Copyright © 2025 Apache Software Foundation. All rights reserved.