< prev index next >
src/java.desktop/share/classes/javax/imageio/IIOImage.java
Print this page
*** 35,53 ****
* A simple container class to aggregate an image, a set of
* thumbnail (preview) images, and an object representing metadata
* associated with the image.
*
* <p> The image data may take the form of either a
! * <code>RenderedImage</code>, or a <code>Raster</code>. Reader
! * methods that return an <code>IIOImage</code> will always return a
! * <code>BufferedImage</code> using the <code>RenderedImage</code>
! * reference. Writer methods that accept an <code>IIOImage</code>
! * will always accept a <code>RenderedImage</code>, and may optionally
! * accept a <code>Raster</code>.
*
! * <p> Exactly one of <code>getRenderedImage</code> and
! * <code>getRaster</code> will return a non-<code>null</code> value.
* Subclasses are responsible for ensuring this behavior.
*
* @see ImageReader#readAll(int, ImageReadParam)
* @see ImageReader#readAll(java.util.Iterator)
* @see ImageWriter#write(javax.imageio.metadata.IIOMetadata,
--- 35,53 ----
* A simple container class to aggregate an image, a set of
* thumbnail (preview) images, and an object representing metadata
* associated with the image.
*
* <p> The image data may take the form of either a
! * {@code RenderedImage}, or a {@code Raster}. Reader
! * methods that return an {@code IIOImage} will always return a
! * {@code BufferedImage} using the {@code RenderedImage}
! * reference. Writer methods that accept an {@code IIOImage}
! * will always accept a {@code RenderedImage}, and may optionally
! * accept a {@code Raster}.
*
! * <p> Exactly one of {@code getRenderedImage} and
! * {@code getRaster} will return a non-{@code null} value.
* Subclasses are responsible for ensuring this behavior.
*
* @see ImageReader#readAll(int, ImageReadParam)
* @see ImageReader#readAll(java.util.Iterator)
* @see ImageWriter#write(javax.imageio.metadata.IIOMetadata,
*** 58,108 ****
*
*/
public class IIOImage {
/**
! * The <code>RenderedImage</code> being referenced.
*/
protected RenderedImage image;
/**
! * The <code>Raster</code> being referenced.
*/
protected Raster raster;
/**
! * A <code>List</code> of <code>BufferedImage</code> thumbnails,
! * or <code>null</code>. Non-<code>BufferedImage</code> objects
! * must not be stored in this <code>List</code>.
*/
protected List<? extends BufferedImage> thumbnails = null;
/**
! * An <code>IIOMetadata</code> object containing metadata
* associated with the image.
*/
protected IIOMetadata metadata;
/**
! * Constructs an <code>IIOImage</code> containing a
! * <code>RenderedImage</code>, and thumbnails and metadata
* associated with it.
*
* <p> All parameters are stored by reference.
*
! * <p> The <code>thumbnails</code> argument must either be
! * <code>null</code> or contain only <code>BufferedImage</code>
* objects.
*
! * @param image a <code>RenderedImage</code>.
! * @param thumbnails a <code>List</code> of <code>BufferedImage</code>s,
! * or <code>null</code>.
! * @param metadata an <code>IIOMetadata</code> object, or
! * <code>null</code>.
*
! * @exception IllegalArgumentException if <code>image</code> is
! * <code>null</code>.
*/
public IIOImage(RenderedImage image,
List<? extends BufferedImage> thumbnails,
IIOMetadata metadata) {
if (image == null) {
--- 58,108 ----
*
*/
public class IIOImage {
/**
! * The {@code RenderedImage} being referenced.
*/
protected RenderedImage image;
/**
! * The {@code Raster} being referenced.
*/
protected Raster raster;
/**
! * A {@code List} of {@code BufferedImage} thumbnails,
! * or {@code null}. Non-{@code BufferedImage} objects
! * must not be stored in this {@code List}.
*/
protected List<? extends BufferedImage> thumbnails = null;
/**
! * An {@code IIOMetadata} object containing metadata
* associated with the image.
*/
protected IIOMetadata metadata;
/**
! * Constructs an {@code IIOImage} containing a
! * {@code RenderedImage}, and thumbnails and metadata
* associated with it.
*
* <p> All parameters are stored by reference.
*
! * <p> The {@code thumbnails} argument must either be
! * {@code null} or contain only {@code BufferedImage}
* objects.
*
! * @param image a {@code RenderedImage}.
! * @param thumbnails a {@code List} of {@code BufferedImage}s,
! * or {@code null}.
! * @param metadata an {@code IIOMetadata} object, or
! * {@code null}.
*
! * @exception IllegalArgumentException if {@code image} is
! * {@code null}.
*/
public IIOImage(RenderedImage image,
List<? extends BufferedImage> thumbnails,
IIOMetadata metadata) {
if (image == null) {
*** 113,136 ****
this.thumbnails = thumbnails;
this.metadata = metadata;
}
/**
! * Constructs an <code>IIOImage</code> containing a
! * <code>Raster</code>, and thumbnails and metadata
* associated with it.
*
* <p> All parameters are stored by reference.
*
! * @param raster a <code>Raster</code>.
! * @param thumbnails a <code>List</code> of <code>BufferedImage</code>s,
! * or <code>null</code>.
! * @param metadata an <code>IIOMetadata</code> object, or
! * <code>null</code>.
*
! * @exception IllegalArgumentException if <code>raster</code> is
! * <code>null</code>.
*/
public IIOImage(Raster raster,
List<? extends BufferedImage> thumbnails,
IIOMetadata metadata) {
if (raster == null) {
--- 113,136 ----
this.thumbnails = thumbnails;
this.metadata = metadata;
}
/**
! * Constructs an {@code IIOImage} containing a
! * {@code Raster}, and thumbnails and metadata
* associated with it.
*
* <p> All parameters are stored by reference.
*
! * @param raster a {@code Raster}.
! * @param thumbnails a {@code List} of {@code BufferedImage}s,
! * or {@code null}.
! * @param metadata an {@code IIOMetadata} object, or
! * {@code null}.
*
! * @exception IllegalArgumentException if {@code raster} is
! * {@code null}.
*/
public IIOImage(Raster raster,
List<? extends BufferedImage> thumbnails,
IIOMetadata metadata) {
if (raster == null) {
*** 141,172 ****
this.thumbnails = thumbnails;
this.metadata = metadata;
}
/**
! * Returns the currently set <code>RenderedImage</code>, or
! * <code>null</code> if only a <code>Raster</code> is available.
*
! * @return a <code>RenderedImage</code>, or <code>null</code>.
*
* @see #setRenderedImage
*/
public RenderedImage getRenderedImage() {
synchronized(this) {
return image;
}
}
/**
! * Sets the current <code>RenderedImage</code>. The value is
! * stored by reference. Any existing <code>Raster</code> is
* discarded.
*
! * @param image a <code>RenderedImage</code>.
*
! * @exception IllegalArgumentException if <code>image</code> is
! * <code>null</code>.
*
* @see #getRenderedImage
*/
public void setRenderedImage(RenderedImage image) {
synchronized(this) {
--- 141,172 ----
this.thumbnails = thumbnails;
this.metadata = metadata;
}
/**
! * Returns the currently set {@code RenderedImage}, or
! * {@code null} if only a {@code Raster} is available.
*
! * @return a {@code RenderedImage}, or {@code null}.
*
* @see #setRenderedImage
*/
public RenderedImage getRenderedImage() {
synchronized(this) {
return image;
}
}
/**
! * Sets the current {@code RenderedImage}. The value is
! * stored by reference. Any existing {@code Raster} is
* discarded.
*
! * @param image a {@code RenderedImage}.
*
! * @exception IllegalArgumentException if {@code image} is
! * {@code null}.
*
* @see #getRenderedImage
*/
public void setRenderedImage(RenderedImage image) {
synchronized(this) {
*** 177,222 ****
this.raster = null;
}
}
/**
! * Returns <code>true</code> if this <code>IIOImage</code> stores
! * a <code>Raster</code> rather than a <code>RenderedImage</code>.
*
! * @return <code>true</code> if a <code>Raster</code> is
* available.
*/
public boolean hasRaster() {
synchronized(this) {
return (raster != null);
}
}
/**
! * Returns the currently set <code>Raster</code>, or
! * <code>null</code> if only a <code>RenderedImage</code> is
* available.
*
! * @return a <code>Raster</code>, or <code>null</code>.
*
* @see #setRaster
*/
public Raster getRaster() {
synchronized(this) {
return raster;
}
}
/**
! * Sets the current <code>Raster</code>. The value is
! * stored by reference. Any existing <code>RenderedImage</code> is
* discarded.
*
! * @param raster a <code>Raster</code>.
*
! * @exception IllegalArgumentException if <code>raster</code> is
! * <code>null</code>.
*
* @see #getRaster
*/
public void setRaster(Raster raster) {
synchronized(this) {
--- 177,222 ----
this.raster = null;
}
}
/**
! * Returns {@code true} if this {@code IIOImage} stores
! * a {@code Raster} rather than a {@code RenderedImage}.
*
! * @return {@code true} if a {@code Raster} is
* available.
*/
public boolean hasRaster() {
synchronized(this) {
return (raster != null);
}
}
/**
! * Returns the currently set {@code Raster}, or
! * {@code null} if only a {@code RenderedImage} is
* available.
*
! * @return a {@code Raster}, or {@code null}.
*
* @see #setRaster
*/
public Raster getRaster() {
synchronized(this) {
return raster;
}
}
/**
! * Sets the current {@code Raster}. The value is
! * stored by reference. Any existing {@code RenderedImage} is
* discarded.
*
! * @param raster a {@code Raster}.
*
! * @exception IllegalArgumentException if {@code raster} is
! * {@code null}.
*
* @see #getRaster
*/
public void setRaster(Raster raster) {
synchronized(this) {
*** 228,256 ****
}
}
/**
* Returns the number of thumbnails stored in this
! * <code>IIOImage</code>.
*
! * @return the number of thumbnails, as an <code>int</code>.
*/
public int getNumThumbnails() {
return thumbnails == null ? 0 : thumbnails.size();
}
/**
* Returns a thumbnail associated with the main image.
*
* @param index the index of the desired thumbnail image.
*
! * @return a thumbnail image, as a <code>BufferedImage</code>.
*
* @exception IndexOutOfBoundsException if the supplied index is
* negative or larger than the largest valid index.
* @exception ClassCastException if a
! * non-<code>BufferedImage</code> object is encountered in the
* list of thumbnails at the given index.
*
* @see #getThumbnails
* @see #setThumbnails
*/
--- 228,256 ----
}
}
/**
* Returns the number of thumbnails stored in this
! * {@code IIOImage}.
*
! * @return the number of thumbnails, as an {@code int}.
*/
public int getNumThumbnails() {
return thumbnails == null ? 0 : thumbnails.size();
}
/**
* Returns a thumbnail associated with the main image.
*
* @param index the index of the desired thumbnail image.
*
! * @return a thumbnail image, as a {@code BufferedImage}.
*
* @exception IndexOutOfBoundsException if the supplied index is
* negative or larger than the largest valid index.
* @exception ClassCastException if a
! * non-{@code BufferedImage} object is encountered in the
* list of thumbnails at the given index.
*
* @see #getThumbnails
* @see #setThumbnails
*/
*** 260,320 ****
}
return (BufferedImage)thumbnails.get(index);
}
/**
! * Returns the current <code>List</code> of thumbnail
! * <code>BufferedImage</code>s, or <code>null</code> if none is
* set. A live reference is returned.
*
! * @return the current <code>List</code> of
! * <code>BufferedImage</code> thumbnails, or <code>null</code>.
*
* @see #getThumbnail(int)
* @see #setThumbnails
*/
public List<? extends BufferedImage> getThumbnails() {
return thumbnails;
}
/**
! * Sets the list of thumbnails to a new <code>List</code> of
! * <code>BufferedImage</code>s, or to <code>null</code>. The
! * reference to the previous <code>List</code> is discarded.
*
! * <p> The <code>thumbnails</code> argument must either be
! * <code>null</code> or contain only <code>BufferedImage</code>
* objects.
*
! * @param thumbnails a <code>List</code> of
! * <code>BufferedImage</code> thumbnails, or <code>null</code>.
*
* @see #getThumbnail(int)
* @see #getThumbnails
*/
public void setThumbnails(List<? extends BufferedImage> thumbnails) {
this.thumbnails = thumbnails;
}
/**
! * Returns a reference to the current <code>IIOMetadata</code>
! * object, or <code>null</code> is none is set.
*
! * @return an <code>IIOMetadata</code> object, or <code>null</code>.
*
* @see #setMetadata
*/
public IIOMetadata getMetadata() {
return metadata;
}
/**
! * Sets the <code>IIOMetadata</code> to a new object, or
! * <code>null</code>.
*
! * @param metadata an <code>IIOMetadata</code> object, or
! * <code>null</code>.
*
* @see #getMetadata
*/
public void setMetadata(IIOMetadata metadata) {
this.metadata = metadata;
--- 260,320 ----
}
return (BufferedImage)thumbnails.get(index);
}
/**
! * Returns the current {@code List} of thumbnail
! * {@code BufferedImage}s, or {@code null} if none is
* set. A live reference is returned.
*
! * @return the current {@code List} of
! * {@code BufferedImage} thumbnails, or {@code null}.
*
* @see #getThumbnail(int)
* @see #setThumbnails
*/
public List<? extends BufferedImage> getThumbnails() {
return thumbnails;
}
/**
! * Sets the list of thumbnails to a new {@code List} of
! * {@code BufferedImage}s, or to {@code null}. The
! * reference to the previous {@code List} is discarded.
*
! * <p> The {@code thumbnails} argument must either be
! * {@code null} or contain only {@code BufferedImage}
* objects.
*
! * @param thumbnails a {@code List} of
! * {@code BufferedImage} thumbnails, or {@code null}.
*
* @see #getThumbnail(int)
* @see #getThumbnails
*/
public void setThumbnails(List<? extends BufferedImage> thumbnails) {
this.thumbnails = thumbnails;
}
/**
! * Returns a reference to the current {@code IIOMetadata}
! * object, or {@code null} is none is set.
*
! * @return an {@code IIOMetadata} object, or {@code null}.
*
* @see #setMetadata
*/
public IIOMetadata getMetadata() {
return metadata;
}
/**
! * Sets the {@code IIOMetadata} to a new object, or
! * {@code null}.
*
! * @param metadata an {@code IIOMetadata} object, or
! * {@code null}.
*
* @see #getMetadata
*/
public void setMetadata(IIOMetadata metadata) {
this.metadata = metadata;
< prev index next >