ImageInfo
Date: 2016-04-28

org.apache.xmlgraphics.image.loader

## Class ImageInfo

- java.lang.Object
- - org.apache.xmlgraphics.image.loader.ImageInfo

-     public class ImageInfo
      extends java.lang.Object

  Represents an image that may not have been fully loaded. Usually, the loading only goes as far as necessary to know the intrinsic size of the image. The image will only fully loaded later when the image needs to be presented in a particular format so the consuming component can actually process it. The "preloading" is done so a layout engine can work with the image without having to fully load it (in memory).

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.Object` | `HAS_MORE_IMAGES` Key to register information about additional (sub-)images in the image file after the selected one.
    `static java.lang.Object` | `ORIGINAL_IMAGE` Key to register the "original object" among the custom objects of an ImageInfo instance.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ImageInfo(java.lang.String originalURI, java.lang.String mimeType)` Main constructor.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.util.Map` | `getCustomObjects()` Returns a Map of custom objects associated with this instance.
    `java.lang.String` | `getMimeType()` Returns the image's MIME type.
    `Image` | `getOriginalImage()` Returns the original Image instance if such an Image instance is created while building this ImageInfo object.
    `java.lang.String` | `getOriginalURI()` Returns the original URI of the image.
    `ImageSize` | `getSize()` Returns the image's intrinsic size.
    `void` | `setSize(ImageSize size)` Sets the image's intrinsic size.
    `java.lang.String` | `toString()`

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

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

- - ### Field Detail

    - #### ORIGINAL_IMAGE

          public static final java.lang.Object ORIGINAL_IMAGE

      Key to register the "original object" among the custom objects of an ImageInfo instance.
      See Also:
        `getOriginalImage()`

    - #### HAS_MORE_IMAGES

          public static final java.lang.Object HAS_MORE_IMAGES

      Key to register information about additional (sub-)images in the image file after the selected one. Valid values for this key is either a positive Integer or the constant `Boolean.TRUE` or `Boolean.FALSE`. A value of TRUE indicates that there are more subimages available but the exact number of additional images has not been determined for performance reasons.

  - ### Constructor Detail

    - #### ImageInfo

          public ImageInfo(java.lang.String originalURI,
                   java.lang.String mimeType)

      Main constructor.
      Parameters:
        `originalURI` - the original URI that was specified by the user (not the resolved URI!)
        `mimeType` - the MIME type of the image

  - ### Method Detail

    - #### getOriginalURI

          public java.lang.String getOriginalURI()

      Returns the original URI of the image.
      Returns:
        the original URI

    - #### getMimeType

          public java.lang.String getMimeType()

      Returns the image's MIME type.
      Returns:
        the MIME type

    - #### getSize

          public ImageSize getSize()

      Returns the image's intrinsic size.
      Returns:
        the image size

    - #### setSize

          public void setSize(ImageSize size)

      Sets the image's intrinsic size.
      Parameters:
        `size` - the size

    - #### getCustomObjects

          public java.util.Map getCustomObjects()

      Returns a Map of custom objects associated with this instance.
      Returns:
        the Map of custom objects

    - #### getOriginalImage

          public Image getOriginalImage()

      Returns the original Image instance if such an Image instance is created while building this ImageInfo object. Some images cannot be "preloaded". They have to be fully loaded in order to determine the intrinsic image size. This method allows access to that fully loaded image so no additional re-loading has to be done later.

      This method is short for: (Image)this.customObjects.get(ORIGINAL_IMAGE);

      Returns:
        the original Image instance or null if none is set
      See Also:
        `ORIGINAL_IMAGE`

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`