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