Class AbstractAFPObject

java.lang.Object
org.apache.fop.afp.modca.AbstractAFPObject
All Implemented Interfaces:
Streamable
Direct Known Subclasses:
AbstractGraphicsDrawingOrder, AbstractStructuredObject, AbstractTriplet, BandImage, ImageCellPosition, ImageInputDescriptor, ImageOutputControl, ImageRasterData, ImageSizeParameter, MapPageOverlay, MapPageSegment, NoOperation, ObjectAreaPosition, PresentationTextData, TilePosition, TileSize, TileTOC, TransparencyMask

public abstract class AbstractAFPObject extends Object implements Streamable
This is the base class for all data stream objects. Page objects are responsible for building and generating the binary datastream in an AFP format.
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static interface 
    structured field category codes
    static interface 
    structured field type codes
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected static final org.apache.commons.logging.Log
    Static logging instance
    protected static final byte
    the structured field class id
    protected static final int
    Length of bytes of a Structured Field Header
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
    copySF(byte[] data, byte type, byte category)
    Copies the template structured field data array to the given byte array
    protected static void
    copySF(byte[] data, byte clazz, byte type, byte category)
    Copies the template structured field data array to the given byte array
    protected static String
    truncate(String str, int maxLength)
    Truncates the string as necessary
    protected static void
    writeChunksToStream(byte[] data, byte[] dataHeader, int lengthOffset, int maxChunkLength, OutputStream os)
    Writes data chunks to a given outputstream
    protected <S extends Streamable>
    void
    Writes a collection of Streamable to the AFP Datastream.

    Methods inherited from class java.lang.Object

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

    Methods inherited from interface org.apache.fop.afp.Streamable

    writeToStream
  • Field Details

    • LOG

      protected static final org.apache.commons.logging.Log LOG
      Static logging instance
    • SF_CLASS

      protected static final byte SF_CLASS
      the structured field class id
      See Also:
    • SF_HEADER_LENGTH

      protected static final int SF_HEADER_LENGTH
      Length of bytes of a Structured Field Header
  • Constructor Details

    • AbstractAFPObject

      public AbstractAFPObject()
  • Method Details

    • copySF

      protected void copySF(byte[] data, byte type, byte category)
      Copies the template structured field data array to the given byte array
      Parameters:
      data - the structured field data byte array
      type - the type code
      category - the category code
    • copySF

      protected static void copySF(byte[] data, byte clazz, byte type, byte category)
      Copies the template structured field data array to the given byte array
      Parameters:
      data - the structured field data byte array
      clazz - the class code
      type - the type code
      category - the category code
    • writeObjects

      protected <S extends Streamable> void writeObjects(Collection<S> objects, OutputStream os) throws IOException
      Writes a collection of Streamable to the AFP Datastream.
      Type Parameters:
      S - Streamable view of an AFPObject
      Parameters:
      objects - a list of AFPObjects
      os - The stream to write to
      Throws:
      IOException - an I/O exception of some sort has occurred.
    • writeChunksToStream

      protected static void writeChunksToStream(byte[] data, byte[] dataHeader, int lengthOffset, int maxChunkLength, OutputStream os) throws IOException
      Writes data chunks to a given outputstream
      Parameters:
      data - the data byte array
      dataHeader - the header data
      lengthOffset - offset of length field in data chunk
      maxChunkLength - the maximum chunk length
      os - the outputstream to write to
      Throws:
      IOException - thrown if an I/O exception of some sort has occurred.
    • truncate

      protected static String truncate(String str, int maxLength)
      Truncates the string as necessary
      Parameters:
      str - a character string
      maxLength - the maximum length allowed for the string
      Returns:
      a possibly truncated string