Class XMPPacketParser

java.lang.Object
org.apache.xmlgraphics.xmp.XMPPacketParser

public final class XMPPacketParser extends Object
This class is a parser for XMP packets. By default, it tries to locate the first XMP packet it finds and parses it.

Important: Before you use this class to look for an XMP packet in some random file, please read the chapter on "Scanning Files for XMP Packets" in the XMP specification!

  • Field Details

    • PACKET_HEADER

      private static final byte[] PACKET_HEADER
    • PACKET_HEADER_END

      private static final byte[] PACKET_HEADER_END
    • PACKET_TRAILER

      private static final byte[] PACKET_TRAILER
  • Constructor Details

    • XMPPacketParser

      private XMPPacketParser()
  • Method Details

    • parse

      public static Metadata parse(InputStream in) throws IOException, TransformerException
      Locates an XMP packet in a stream, parses it and returns the XMP metadata. If no XMP packet is found until the stream ends, null is returned. Note: This method only finds the first XMP packet in a stream. And it cannot determine whether it has found the right XMP packet if there are multiple packets.
      Parameters:
      in - the InputStream to search
      Returns:
      the parsed XMP metadata or null if no XMP packet is found
      Throws:
      IOException - if an I/O error occurs
      TransformerException - if an error occurs while parsing the XMP packet
    • skipAfter

      private static boolean skipAfter(InputStream in, byte[] match) throws IOException
      Throws:
      IOException
    • skipAfter

      private static boolean skipAfter(InputStream in, byte[] match, OutputStream out) throws IOException
      Throws:
      IOException