Package org.apache.commons.imaging.formats.webp

# Class WebPImageParser

java.lang.Object
org.apache.commons.imaging.common.BinaryFileParser
org.apache.commons.imaging.AbstractImageParser<WebPImagingParameters>
org.apache.commons.imaging.formats.webp.WebPImageParser

All Implemented Interfaces:
  `XmpEmbeddable<WebPImagingParameters>`

public class WebPImageParser extends AbstractImageParser<WebPImagingParameters> implements XmpEmbeddable<WebPImagingParameters>
WebP image parser.

Since:
  1.0.0-alpha4

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `WebPImageParser()`
  Constructs a new instance with the big-endian byte order.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `dumpImageFile(PrintWriter pw, ByteSource byteSource)`
  Writes the ImageInfo and format-specific information for the image content of the specified byte source to a PrintWriter
  `protected String[]`
  `getAcceptedExtensions()`
  Gets an array of all accepted extensions
  `protected ImageFormat[]`
  `getAcceptedTypes()`
  Gets an array of ImageFormat objects describing all accepted types
  `BufferedImage`
  `getBufferedImage(ByteSource byteSource, WebPImagingParameters params)`
  Gets a buffered image specified by the byte source (for sources that specify multiple images, choice of which image is returned is implementation dependent).
  `String`
  `getDefaultExtension()`
  Gets the default extension for the format specified by an implementation of ImageParser.
  `WebPImagingParameters`
  `getDefaultParameters()`
  Gets a default parameters instance for this parser.
  `byte[]`
  `getIccProfileBytes(ByteSource byteSource, WebPImagingParameters params)`
  Gets an array of bytes describing the International Color Consortium (ICC) specification for the color space of the image contained in the input byteSource.
  `ImageInfo`
  `getImageInfo(ByteSource byteSource, WebPImagingParameters params)`
  Gets image information from the specified ByteSource.
  `Dimension`
  `getImageSize(ByteSource byteSource, WebPImagingParameters params)`
  Gets the size of the image described by the specified ByteSource.
  `WebPImageMetadata`
  `getMetadata(ByteSource byteSource, WebPImagingParameters params)`
  Gets image metadata from the specified byte source.
  `String`
  `getName()`
  Gets a descriptive name for the implementation of an ImageParser.
  `String`
  `getXmpXml(ByteSource byteSource, XmpImagingParameters<WebPImagingParameters> params)`
  Gets a string containing XML conforming to the Extensible Metadata Platform (XMP) standard for representing information about image content.

  ### Methods inherited from class org.apache.commons.imaging.AbstractImageParser

  `canAcceptExtension, canAcceptExtension, canAcceptType, dumpImageFile, dumpImageFile, dumpImageFile, getAllBufferedImages, getAllBufferedImages, getAllBufferedImages, getAllImageParsers, getBufferedImage, getBufferedImage, getBufferedImageFactory, getFormatCompliance, getFormatCompliance, getFormatCompliance, getIccProfileBytes, getIccProfileBytes, getIccProfileBytes, getIccProfileBytes, getImageInfo, getImageInfo, getImageInfo, getImageSize, getImageSize, getImageSize, getImageSize, getMetadata, getMetadata, getMetadata, getMetadata, getMetadata, writeImage`

  ### Methods inherited from class org.apache.commons.imaging.common.BinaryFileParser

  `debugNumber, debugNumber, getByteOrder, setByteOrder`

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

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

- ## Constructor Details

  - ### WebPImageParser

    public WebPImageParser()
    Constructs a new instance with the big-endian byte order.

- ## Method Details

  - ### dumpImageFile

    public boolean dumpImageFile(PrintWriter pw, ByteSource byteSource) throws ImagingException, IOException
    Description copied from class: `AbstractImageParser`
    Writes the ImageInfo and format-specific information for the image content of the specified byte source to a PrintWriter
    Overrides:
      `dumpImageFile` in class `AbstractImageParser<WebPImagingParameters>`
    Parameters:
      `pw` - print writer used for writing the ImageInfo
      `byteSource` - A valid byte source.
    Returns:
      A valid PrintWriter.
    Throws:
      `ImagingException` - In the event that the specified content does not conform to the format of the specific parser implementation.
      `IOException` - In the event of unsuccessful read or access operation.

  - ### getAcceptedExtensions

    protected String[] getAcceptedExtensions()
    Description copied from class: `AbstractImageParser`
    Gets an array of all accepted extensions
    Specified by:
      `getAcceptedExtensions` in class `AbstractImageParser<WebPImagingParameters>`
    Returns:
      A valid array of one or more elements.

  - ### getAcceptedTypes

    protected ImageFormat[] getAcceptedTypes()
    Description copied from class: `AbstractImageParser`
    Gets an array of ImageFormat objects describing all accepted types
    Specified by:
      `getAcceptedTypes` in class `AbstractImageParser<WebPImagingParameters>`
    Returns:
      A valid array of one or more elements.

  - ### getBufferedImage

    public BufferedImage getBufferedImage(ByteSource byteSource, WebPImagingParameters params) throws ImagingException, IOException
    Description copied from class: `AbstractImageParser`
    Gets a buffered image specified by the byte source (for sources that specify multiple images, choice of which image is returned is implementation dependent).
    Specified by:
      `getBufferedImage` in class `AbstractImageParser<WebPImagingParameters>`
    Parameters:
      `byteSource` - A valid instance of ByteSource
      `params` - Optional instructions for special-handling or interpretation of the input data (null objects are permitted and must be supported by implementations).
    Returns:
      A valid instance of BufferedImage.
    Throws:
      `ImagingException` - In the event that the specified content does not conform to the format of the specific parser implementation.
      `IOException` - In the event of unsuccessful read or access operation.

  - ### getDefaultExtension

    public String getDefaultExtension()
    Description copied from class: `AbstractImageParser`
    Gets the default extension for the format specified by an implementation of ImageParser. Some parsers can support more than one extension (i.e. .JPEG, .JPG; .TIF, .TIFF, etc.).
    Specified by:
      `getDefaultExtension` in class `AbstractImageParser<WebPImagingParameters>`
    Returns:
      A valid string.

  - ### getDefaultParameters

    public WebPImagingParameters getDefaultParameters()
    Description copied from class: `AbstractImageParser`
    Gets a default parameters instance for this parser.
    Specified by:
      `getDefaultParameters` in class `AbstractImageParser<WebPImagingParameters>`
    Returns:
      default parameters instance

  - ### getIccProfileBytes

    public byte[] getIccProfileBytes(ByteSource byteSource, WebPImagingParameters params) throws ImagingException, IOException
    Description copied from class: `AbstractImageParser`
    Gets an array of bytes describing the International Color Consortium (ICC) specification for the color space of the image contained in the input byteSource. Not all formats support ICC profiles.
    Specified by:
      `getIccProfileBytes` in class `AbstractImageParser<WebPImagingParameters>`
    Parameters:
      `byteSource` - A valid ByteSource.
      `params` - Optional instructions for special-handling or interpretation of the input data.
    Returns:
      If available, a valid array of bytes; otherwise, a null
    Throws:
      `ImagingException` - In the event that the specified content does not conform to the format of the specific parser implementation.
      `IOException` - In the event of unsuccessful read or access operation.

  - ### getImageInfo

    public ImageInfo getImageInfo(ByteSource byteSource, WebPImagingParameters params) throws ImagingException, IOException
    Description copied from class: `AbstractImageParser`
    Gets image information from the specified ByteSource. Format-specific ImageParser implementations are expected to return a valid ImageInfo object or to throw an ImageReadException if unable to process the specified data.

    The params argument provides a mechanism for individual implementations to pass optional information into the parser. Not all formats will require this capability. Because the base class may call this method with a null params argument, implementations should always include logic for ignoring null input.

    Specified by:
      `getImageInfo` in class `AbstractImageParser<WebPImagingParameters>`
    Parameters:
      `byteSource` - A valid ByteSource object
      `params` - Optional instructions for special-handling or interpretation of the input data (null objects are permitted and must be supported by implementations).
    Returns:
      A valid image information object describing the content extracted from the specified data.
    Throws:
      `ImagingException` - In the event that the specified content does not conform to the format of the specific parser implementation.
      `IOException` - In the event of unsuccessful data access operation.

  - ### getImageSize

    public Dimension getImageSize(ByteSource byteSource, WebPImagingParameters params) throws ImagingException, IOException
    Description copied from class: `AbstractImageParser`
    Gets the size of the image described by the specified ByteSource.
    Specified by:
      `getImageSize` in class `AbstractImageParser<WebPImagingParameters>`
    Parameters:
      `byteSource` - A valid reference to a ByteSource.
      `params` - Optional instructions for special-handling or interpretation of the input data.
    Returns:
      A valid instance of Dimension.
    Throws:
      `ImagingException` - In the event that the specified content does not conform to the format of the specific parser implementation.
      `IOException` - In the event of unsuccessful read or access operation.

  - ### getMetadata

    public WebPImageMetadata getMetadata(ByteSource byteSource, WebPImagingParameters params) throws ImagingException, IOException
    Description copied from class: `AbstractImageParser`
    Gets image metadata from the specified byte source. Format-specific ImageParser implementations are expected to return a valid IImageMetadata object or to throw an ImageReadException if unable to process the specified byte source.

    The params argument provides a mechanism for individual implementations to pass optional information into the parser. Not all formats will require this capability. Because the base class may call this method with a null params argument, implementations should always include logic for ignoring null input.

    Specified by:
      `getMetadata` in class `AbstractImageParser<WebPImagingParameters>`
    Parameters:
      `byteSource` - A valid byte source.
      `params` - Optional instructions for special-handling or interpretation of the input data (null objects are permitted and must be supported by implementations).
    Returns:
      A valid, potentially subject-matter-specific implementation of the IImageMetadata interface describing the content extracted from the source content.
    Throws:
      `ImagingException` - In the event that the ByteSource content does not conform to the format of the specific parser implementation.
      `IOException` - In the event of unsuccessful data read operation.

  - ### getName

    public String getName()
    Description copied from class: `AbstractImageParser`
    Gets a descriptive name for the implementation of an ImageParser.
    Specified by:
      `getName` in class `AbstractImageParser<WebPImagingParameters>`
    Returns:
      a valid, subject-matter-specific string.

  - ### getXmpXml

    public String getXmpXml(ByteSource byteSource, XmpImagingParameters<WebPImagingParameters> params) throws ImagingException, IOException
    Description copied from interface: `XmpEmbeddable`
    Gets a string containing XML conforming to the Extensible Metadata Platform (XMP) standard for representing information about image content. Not all image formats support XMP information and even for those that do, there is no guarantee that such information will be present in an image.
    Specified by:
      `getXmpXml` in interface `XmpEmbeddable<WebPImagingParameters>`
    Parameters:
      `byteSource` - A valid reference to a ByteSource.
      `params` - Optional instructions for special-handling or interpretation of the input data.
    Returns:
      If XMP metadata is present, a valid string; if it is not present, a null.
    Throws:
      `ImagingException` - In the event that the specified content does not conform to the format of the specific parser implementation.
      `IOException` - In the event of unsuccessful read or access operation.