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

org.apache.fop.afp.util

## Class AFPResourceUtil

- java.lang.Object
- - org.apache.fop.afp.util.AFPResourceUtil

-     public final class AFPResourceUtil
      extends Object

  TODO better docs Utility for AFP resource handling A utility class to read structured fields from a MO:DCA document. Each component of a mixed object document is explicitly defined and delimited in the data. This is accomplished through the use of MO:DCA data structures, called structured fields. Structured fields are used to envelop document components and to provide commands and information to applications using the data. Structured fields may contain one or more parameters. Each parameter provides one value from a set of values defined by the architecture.
  MO:DCA structured fields consist of two parts: an introducer that identifies the length and type of the structured field, and data that provides the structured field's effect. The data is contained in a set of parameters, which can consist of other data structures and data elements. The maximum length of a structured field is 32767 bytes.

- - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static void` | `copyNamedResource(String name, InputStream in, OutputStream out)` Copy a named resource to a given `OutputStream`.
    `static void` | `copyResourceFile(InputStream in, OutputStream out)` Copy a complete resource file to a given `OutputStream`.
    `static byte[]` | `getNext(byte[] identifier, InputStream inputStream)` Get the next structured field as identified by the identifier parameter (this must be a valid MO:DCA structured field).

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

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

- - ### Method Detail

    - #### getNext

          public static byte[] getNext(byte[] identifier,
                                       InputStream inputStream)
                                throws IOException

      Get the next structured field as identified by the identifier parameter (this must be a valid MO:DCA structured field).
      Parameters:
        `identifier` - the three byte identifier
        `inputStream` - the inputStream
      Returns:
        the next structured field or null when there are no more
      Throws:
        `IOException` - if an I/O exception occurred

    - #### copyResourceFile

          public static void copyResourceFile(InputStream in,
                                              OutputStream out)
                                       throws IOException

      Copy a complete resource file to a given `OutputStream`.
      Parameters:
        `in` - external resource input
        `out` - output destination
      Throws:
        `IOException` - if an I/O error occurs

    - #### copyNamedResource

          public static void copyNamedResource(String name,
                                               InputStream in,
                                               OutputStream out)
                                        throws IOException

      Copy a named resource to a given `OutputStream`. The MO:DCA fields read from the `InputStream` are scanned for the resource with the given name.
      Parameters:
        `name` - name of structured field
        `in` - external resource input
        `out` - output destination
      Throws:
        `IOException` - if an I/O error occurs

Copyright © 2025 Apache Software Foundation. All rights reserved.