summaryrefslogtreecommitdiffstats
path: root/awt/javax/imageio
diff options
context:
space:
mode:
Diffstat (limited to 'awt/javax/imageio')
-rw-r--r--awt/javax/imageio/IIOException.java60
-rw-r--r--awt/javax/imageio/IIOImage.java224
-rw-r--r--awt/javax/imageio/IIOParam.java342
-rw-r--r--awt/javax/imageio/IIOParamController.java45
-rw-r--r--awt/javax/imageio/ImageIO.java800
-rw-r--r--awt/javax/imageio/ImageReadParam.java201
-rw-r--r--awt/javax/imageio/ImageReader.java1162
-rw-r--r--awt/javax/imageio/ImageTranscoder.java67
-rw-r--r--awt/javax/imageio/ImageTypeSpecifier.java347
-rw-r--r--awt/javax/imageio/ImageWriteParam.java664
-rw-r--r--awt/javax/imageio/ImageWriter.java1001
-rw-r--r--awt/javax/imageio/event/IIOReadProgressListener.java121
-rw-r--r--awt/javax/imageio/event/IIOReadUpdateListener.java182
-rw-r--r--awt/javax/imageio/event/IIOReadWarningListener.java49
-rw-r--r--awt/javax/imageio/event/IIOWriteProgressListener.java101
-rw-r--r--awt/javax/imageio/event/IIOWriteWarningListener.java46
-rw-r--r--awt/javax/imageio/event/package.html8
-rw-r--r--awt/javax/imageio/metadata/IIOInvalidTreeException.java74
-rw-r--r--awt/javax/imageio/metadata/IIOMetadata.java391
-rw-r--r--awt/javax/imageio/metadata/IIOMetadataController.java46
-rw-r--r--awt/javax/imageio/metadata/IIOMetadataFormat.java404
-rw-r--r--awt/javax/imageio/metadata/IIOMetadataFormatImpl.java1056
-rw-r--r--awt/javax/imageio/metadata/IIOMetadataNode.java1080
-rw-r--r--awt/javax/imageio/metadata/IIOStandardMetadataFormat.java297
-rw-r--r--awt/javax/imageio/metadata/IIOStandardMetadataFormatResources.properties133
-rw-r--r--awt/javax/imageio/metadata/package.html8
-rw-r--r--awt/javax/imageio/package.html8
-rw-r--r--awt/javax/imageio/plugins/bmp/BMPImageWriteParam.java79
-rw-r--r--awt/javax/imageio/plugins/bmp/package.html8
-rw-r--r--awt/javax/imageio/plugins/jpeg/JPEGHuffmanTable.java226
-rw-r--r--awt/javax/imageio/plugins/jpeg/JPEGImageReadParam.java123
-rw-r--r--awt/javax/imageio/plugins/jpeg/JPEGImageWriteParam.java209
-rw-r--r--awt/javax/imageio/plugins/jpeg/JPEGQTable.java165
-rw-r--r--awt/javax/imageio/plugins/jpeg/package.html8
-rw-r--r--awt/javax/imageio/spi/IIORegistry.java115
-rw-r--r--awt/javax/imageio/spi/IIOServiceProvider.java105
-rw-r--r--awt/javax/imageio/spi/ImageInputStreamSpi.java131
-rw-r--r--awt/javax/imageio/spi/ImageOutputStreamSpi.java132
-rw-r--r--awt/javax/imageio/spi/ImageReaderSpi.java204
-rw-r--r--awt/javax/imageio/spi/ImageReaderWriterSpi.java344
-rw-r--r--awt/javax/imageio/spi/ImageTranscoderSpi.java76
-rw-r--r--awt/javax/imageio/spi/ImageWriterSpi.java227
-rw-r--r--awt/javax/imageio/spi/RegisterableService.java54
-rw-r--r--awt/javax/imageio/spi/ServiceRegistry.java552
-rw-r--r--awt/javax/imageio/spi/package.html8
-rw-r--r--awt/javax/imageio/stream/FileCacheImageInputStream.java137
-rw-r--r--awt/javax/imageio/stream/FileCacheImageOutputStream.java196
-rw-r--r--awt/javax/imageio/stream/FileImageInputStream.java122
-rw-r--r--awt/javax/imageio/stream/FileImageOutputStream.java128
-rw-r--r--awt/javax/imageio/stream/IIOByteBuffer.java124
-rw-r--r--awt/javax/imageio/stream/ImageInputStream.java502
-rw-r--r--awt/javax/imageio/stream/ImageInputStreamImpl.java418
-rw-r--r--awt/javax/imageio/stream/ImageOutputStream.java307
-rw-r--r--awt/javax/imageio/stream/ImageOutputStreamImpl.java174
-rw-r--r--awt/javax/imageio/stream/MemoryCacheImageInputStream.java119
-rw-r--r--awt/javax/imageio/stream/MemoryCacheImageOutputStream.java135
-rw-r--r--awt/javax/imageio/stream/package.html8
57 files changed, 0 insertions, 14053 deletions
diff --git a/awt/javax/imageio/IIOException.java b/awt/javax/imageio/IIOException.java
deleted file mode 100644
index c77716c..0000000
--- a/awt/javax/imageio/IIOException.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/**
- * @author Rustem V. Rafikov
- * @version $Revision: 1.3 $
- */
-
-package javax.imageio;
-
-import java.io.IOException;
-
-/**
- * The IIOException class indicates errors in reading/writing operations.
- *
- * @since Android 1.0
- */
-public class IIOException extends IOException {
-
- /**
- * The Constant serialVersionUID.
- */
- private static final long serialVersionUID = -3216210718638985251L;
-
- /**
- * Instantiates a new IIOException.
- *
- * @param message
- * the detailed message.
- */
- public IIOException(String message) {
- super(message);
- }
-
- /**
- * Instantiates a new IIOException.
- *
- * @param message
- * the detailed message.
- * @param cause
- * the cause of this exception.
- */
- public IIOException(String message, Throwable cause) {
- super(message);
- initCause(cause);
- }
-}
diff --git a/awt/javax/imageio/IIOImage.java b/awt/javax/imageio/IIOImage.java
deleted file mode 100644
index e9e5130..0000000
--- a/awt/javax/imageio/IIOImage.java
+++ /dev/null
@@ -1,224 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/**
- * @author Rustem V. Rafikov
- * @version $Revision: 1.3 $
- */
-
-package javax.imageio;
-
-import javax.imageio.metadata.IIOMetadata;
-import java.awt.image.RenderedImage;
-import java.awt.image.Raster;
-import java.awt.image.BufferedImage;
-import java.util.List;
-
-/**
- * The IIOImage class combines the image, image's thumbnail and image's
- * metadata. The image can be presented as RenderedImage or Raster object.
- *
- * @since Android 1.0
- */
-public class IIOImage {
-
- /**
- * The image of this IIOImage.
- */
- protected RenderedImage image;
-
- /**
- * The raster of this IIOImage.
- */
- protected Raster raster;
-
- /**
- * The list with thumbnails associated with the image.
- */
- protected List<? extends BufferedImage> thumbnails;
-
- /**
- * The metadata associated with the image.
- */
- protected IIOMetadata metadata;
-
- /**
- * Instantiates a new IIOImage with the specified RenderedImage, list of
- * thumbnails and metadata.
- *
- * @param image
- * the image specified by RenderedImage.
- * @param thumbnails
- * the list of BufferedImage objects which represent the
- * thumbnails of the image.
- * @param metadata
- * the metadata of the image.
- */
- public IIOImage(RenderedImage image, List<? extends BufferedImage> thumbnails,
- IIOMetadata metadata) {
- if (image == null) {
- throw new IllegalArgumentException("image should not be NULL");
- }
- this.raster = null;
- this.image = image;
- this.thumbnails = thumbnails;
- this.metadata = metadata;
- }
-
- /**
- * Instantiates a new IIOImage with the specified Raster, list of thumbnails
- * and metadata.
- *
- * @param raster
- * the Raster.
- * @param thumbnails
- * the list of BufferedImage objects which represent the
- * thumbnails of Raster data.
- * @param metadata
- * the metadata.
- */
- public IIOImage(Raster raster, List<? extends BufferedImage> thumbnails, IIOMetadata metadata) {
- if (raster == null) {
- throw new IllegalArgumentException("raster should not be NULL");
- }
- this.image = null;
- this.raster = raster;
- this.thumbnails = thumbnails;
- this.metadata = metadata;
- }
-
- /**
- * Gets the RenderedImage object or returns null if this IIOImage object is
- * associated with a Raster.
- *
- * @return the RenderedImage object or null if this IIOImage object is
- * associated with a Raster.
- */
- public RenderedImage getRenderedImage() {
- return image;
- }
-
- /**
- * Sets the RenderedImage to this IIOImage object.
- *
- * @param image
- * the RenderedImage to be set to this IIOImage.
- */
- public void setRenderedImage(RenderedImage image) {
- if (image == null) {
- throw new IllegalArgumentException("image should not be NULL");
- }
- raster = null;
- this.image = image;
- }
-
- /**
- * Returns true if the IIOImage object associated with a Raster, or false if
- * it's associated with a RenderedImage.
- *
- * @return true, if the IIOImage object associated with a Raster, or false
- * if it's associated with a RenderedImage.
- */
- public boolean hasRaster() {
- return raster != null;
- }
-
- /**
- * Gets the Raster object or returns null if this IIOImage object is
- * associated with a RenderedImage.
- *
- * @return the Raster or null if this IIOImage object is associated with a
- * RenderedImage.
- */
- public Raster getRaster() {
- return raster;
- }
-
- /**
- * Sets the Raster to the IIOImage.
- *
- * @param raster
- * the new Raster to the IIOImage.
- */
- public void setRaster(Raster raster) {
- if (raster == null) {
- throw new IllegalArgumentException("raster should not be NULL");
- }
- image = null;
- this.raster = raster;
- }
-
- /**
- * Gets the number of thumbnails for this IIOImage.
- *
- * @return the number of thumbnails for this IIOImage.
- */
- public int getNumThumbnails() {
- return thumbnails != null ? thumbnails.size() : 0;
- }
-
- /**
- * Gets the thumbnail with the specified index in the list.
- *
- * @param index
- * the index of the thumbnail in the list.
- * @return the thumbnail with the specified index in the list.
- */
- public BufferedImage getThumbnail(int index) {
- if (thumbnails != null) {
- return thumbnails.get(index);
- }
- throw new IndexOutOfBoundsException("no thumbnails were set");
- }
-
- /**
- * Gets the list of thumbnails.
- *
- * @return the list of thumbnails.
- */
- public List<? extends BufferedImage> getThumbnails() {
- return thumbnails;
- }
-
- /**
- * Sets the list of thumbnails images to this IIOImage object.
- *
- * @param thumbnails
- * the list of BufferedImage which represent thumbnails.
- */
- public void setThumbnails(List<? extends BufferedImage> thumbnails) {
- this.thumbnails = thumbnails;
- }
-
- /**
- * Gets the metadata of this IIOImage.
- *
- * @return the metadata of this IIOImage.
- */
- public IIOMetadata getMetadata() {
- return metadata;
- }
-
- /**
- * Sets the metadata to this IIOImage object.
- *
- * @param metadata
- * the IIOMetadata, or null.
- */
- public void setMetadata(IIOMetadata metadata) {
- this.metadata = metadata;
- }
-}
diff --git a/awt/javax/imageio/IIOParam.java b/awt/javax/imageio/IIOParam.java
deleted file mode 100644
index 2ccc945..0000000
--- a/awt/javax/imageio/IIOParam.java
+++ /dev/null
@@ -1,342 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/**
- * @author Rustem V. Rafikov
- * @version $Revision: 1.3 $
- */
-
-package javax.imageio;
-
-import java.awt.*;
-
-/**
- * The IIOParam abstract class is superclass for ImageReadParam and
- * ImageWriteParam classes and provides methods and variables which they share.
- *
- * @since Android 1.0
- */
-public abstract class IIOParam {
-
- /**
- * The source region.
- */
- protected Rectangle sourceRegion;
-
- /**
- * The source x subsampling.
- */
- protected int sourceXSubsampling = 1;
-
- /**
- * The source y subsampling.
- */
- protected int sourceYSubsampling = 1;
-
- /**
- * The subsampling x offset.
- */
- protected int subsamplingXOffset;
-
- /**
- * The subsampling y offset.
- */
- protected int subsamplingYOffset;
-
- /**
- * The source bands.
- */
- protected int[] sourceBands;
-
- /**
- * The destination type.
- */
- protected ImageTypeSpecifier destinationType;
-
- /**
- * The destination offset.
- */
- protected Point destinationOffset = new Point(0, 0);
-
- /**
- * The default controller.
- */
- protected IIOParamController defaultController;
-
- /**
- * The controller.
- */
- protected IIOParamController controller;
-
- /**
- * Instantiates a new IIOParam.
- */
- protected IIOParam() {
- }
-
- /**
- * Sets the source region as a Rectangle object.
- *
- * @param sourceRegion
- * the Rectangle which specifies the source region.
- */
- public void setSourceRegion(Rectangle sourceRegion) {
- if (sourceRegion != null) {
- if (sourceRegion.x < 0) {
- throw new IllegalArgumentException("x < 0");
- }
- if (sourceRegion.y < 0) {
- throw new IllegalArgumentException("y < 0");
- }
- if (sourceRegion.width <= 0) {
- throw new IllegalArgumentException("width <= 0");
- }
- if (sourceRegion.height <= 0) {
- throw new IllegalArgumentException("height <= 0");
- }
-
- if (sourceRegion.width <= subsamplingXOffset) {
- throw new IllegalArgumentException("width <= subsamplingXOffset");
- }
-
- if (sourceRegion.height <= subsamplingYOffset) {
- throw new IllegalArgumentException("height <= subsamplingXOffset");
- }
- // -- clone it to avoid unexpected modifications
- this.sourceRegion = (Rectangle)sourceRegion.clone();
- } else {
- this.sourceRegion = null;
- }
- }
-
- /**
- * Gets the source region.
- *
- * @return the source region as Rectangle.
- */
- public Rectangle getSourceRegion() {
- if (sourceRegion == null) {
- return null;
- }
- // -- clone it to avoid unexpected modifications
- return (Rectangle)sourceRegion.clone();
- }
-
- /**
- * Sets the source subsampling. The sourceXSubsampling and
- * sourceYSubsampling parameters specify the number of rows and columns to
- * advance after every source pixel.
- *
- * @param sourceXSubsampling
- * the source X subsampling.
- * @param sourceYSubsampling
- * the source Y subsampling.
- * @param subsamplingXOffset
- * the subsampling X offset.
- * @param subsamplingYOffset
- * the subsampling Y offset.
- */
- public void setSourceSubsampling(int sourceXSubsampling, int sourceYSubsampling,
- int subsamplingXOffset, int subsamplingYOffset) {
-
- if (sourceXSubsampling <= 0) {
- throw new IllegalArgumentException("sourceXSubsampling <= 0");
- }
- if (sourceYSubsampling <= 0) {
- throw new IllegalArgumentException("sourceYSubsampling <= 0");
- }
-
- if (subsamplingXOffset <= 0 || subsamplingXOffset >= sourceXSubsampling) {
- throw new IllegalArgumentException("subsamplingXOffset is wrong");
- }
-
- if (subsamplingYOffset <= 0 || subsamplingYOffset >= sourceYSubsampling) {
- throw new IllegalArgumentException("subsamplingYOffset is wrong");
- }
-
- // -- does region contain pixels
- if (sourceRegion != null) {
- if (sourceRegion.width <= subsamplingXOffset
- || sourceRegion.height <= subsamplingYOffset) {
- throw new IllegalArgumentException("there are no pixels in region");
- }
- }
-
- this.sourceXSubsampling = sourceXSubsampling;
- this.sourceYSubsampling = sourceYSubsampling;
- this.subsamplingXOffset = subsamplingXOffset;
- this.subsamplingYOffset = subsamplingYOffset;
- }
-
- /**
- * Gets the source X subsampling - the number of source columns to advance
- * for each pixel.
- *
- * @return the source X subsampling.
- */
- public int getSourceXSubsampling() {
- return sourceXSubsampling;
- }
-
- /**
- * Gets the source Y subsampling - the number of source rows to advance for
- * each pixel.
- *
- * @return the source Y subsampling.
- */
- public int getSourceYSubsampling() {
- return sourceYSubsampling;
- }
-
- /**
- * Gets the horizontal offset of the subsampling grid.
- *
- * @return the horizontal offset of the subsampling grid.
- */
- public int getSubsamplingXOffset() {
- return subsamplingXOffset;
- }
-
- /**
- * Gets the vertical offset of the subsampling grid.
- *
- * @return the vertical offset of the subsampling grid.
- */
- public int getSubsamplingYOffset() {
- return subsamplingYOffset;
- }
-
- /**
- * Sets the indices of the source bands.
- *
- * @param sourceBands
- * the indices of the source bands.
- */
- public void setSourceBands(int[] sourceBands) {
- // TODO implement
- throw new UnsupportedOperationException("not implemented yet");
- }
-
- /**
- * Gets the array of source bands.
- *
- * @return the array of source bands.
- */
- public int[] getSourceBands() {
- // TODO implement
- throw new UnsupportedOperationException("not implemented yet");
- }
-
- /**
- * Sets the specified ImageTypeSpecifier for the destination image.
- *
- * @param destinationType
- * the ImageTypeSpecifier.
- */
- public void setDestinationType(ImageTypeSpecifier destinationType) {
- // TODO implement
- throw new UnsupportedOperationException("not implemented yet");
- }
-
- /**
- * Gets the type of the destination image as an ImageTypeSpecifier. .
- *
- * @return the ImageTypeSpecifier.
- */
- public ImageTypeSpecifier getDestinationType() {
- // TODO implement
- throw new UnsupportedOperationException("not implemented yet");
- }
-
- /**
- * Sets the offset in the destination image where the decoded pixels are
- * placed as a result of reading, or specified an area to be written while
- * writing operation.
- *
- * @param destinationOffset
- * the destination offset.
- */
- public void setDestinationOffset(Point destinationOffset) {
- if (destinationOffset == null) {
- throw new IllegalArgumentException("destinationOffset == null!");
- }
-
- this.destinationOffset = (Point)destinationOffset.clone();
- }
-
- /**
- * Gets the offset in the destination image for placing pixels.
- *
- * @return the offset in the destination image.
- */
- public Point getDestinationOffset() {
- return (Point)destinationOffset.clone();
- }
-
- /**
- * Sets the IIOParamController to this IIOParam object for providing
- * settings to this IIOParam.
- *
- * @param controller
- * the new IIOParamController.
- */
- public void setController(IIOParamController controller) {
- // TODO implement
- throw new UnsupportedOperationException("not implemented yet");
- }
-
- /**
- * Gets the current IIOParamController controller for this IIOParam.
- *
- * @return the current IIOParamController controller for this IIOParam.
- */
- public IIOParamController getController() {
- // TODO implement
- throw new UnsupportedOperationException("not implemented yet");
- }
-
- /**
- * Gets the default IIOParamController controller for this IIOParam.
- *
- * @return the default IIOParamController controller for this IIOParam, or
- * null.
- */
- public IIOParamController getDefaultController() {
- // TODO implement
- throw new UnsupportedOperationException("not implemented yet");
- }
-
- /**
- * Returns true if IIOParamController is installed for this IIOParam.
- *
- * @return true, if IIOParamController is installed for this IIOParam, false
- * otherwise.
- */
- public boolean hasController() {
- // TODO implement
- throw new UnsupportedOperationException("not implemented yet");
- }
-
- /**
- * Activates the controller.
- *
- * @return true, if successful, false otherwise.
- */
- public boolean activateController() {
- // TODO implement
- throw new UnsupportedOperationException("not implemented yet");
- }
-}
diff --git a/awt/javax/imageio/IIOParamController.java b/awt/javax/imageio/IIOParamController.java
deleted file mode 100644
index 338cb25..0000000
--- a/awt/javax/imageio/IIOParamController.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/**
- * @author Sergey I. Salishev
- * @version $Revision: 1.2 $
- */
-
-package javax.imageio;
-
-/*
- * @author Sergey I. Salishev
- * @version $Revision: 1.2 $
- */
-
-/**
- * The IIOParamController specifies an activate method that invokes the
- * controller.
- *
- * @since Android 1.0
- */
-public interface IIOParamController {
-
- /**
- * Activates the controller.
- *
- * @param param
- * the IIOParam.
- * @return true, if the IIOParam has been modified, false otherwise.
- */
- boolean activate(IIOParam param);
-}
diff --git a/awt/javax/imageio/ImageIO.java b/awt/javax/imageio/ImageIO.java
deleted file mode 100644
index e0d7ec9..0000000
--- a/awt/javax/imageio/ImageIO.java
+++ /dev/null
@@ -1,800 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/**
- * @author Rustem V. Rafikov
- * @version $Revision: 1.3 $
- */
-
-package javax.imageio;
-
-import javax.imageio.stream.ImageInputStream;
-import javax.imageio.stream.ImageOutputStream;
-import javax.imageio.spi.*;
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.Iterator;
-import java.util.Arrays;
-import java.awt.image.BufferedImage;
-import java.awt.image.RenderedImage;
-import java.net.URL;
-
-/**
- * The ImageIO class provides static methods to perform reading and writing
- * operations using registered ImageReader and ImageWriter objects.
- *
- * @since Android 1.0
- */
-public final class ImageIO {
-
- /**
- * The constant registry.
- */
- private static final IIORegistry registry = IIORegistry.getDefaultInstance();
-
- /**
- * Instantiates a new ImageIO.
- */
- private ImageIO() {
- }
-
- /**
- * Scans for plug-ins in the class path, loads spi classes, and registers
- * them with the IIORegistry.
- */
- public static void scanForPlugins() {
- throw new UnsupportedOperationException("Not supported yet");
- }
-
- /**
- * Sets flag which indicates whether a cache file is used when creating
- * ImageInputStreams and ImageOutputStreams or not.
- *
- * @param useCache
- * the use cache flag.
- */
- public static void setUseCache(boolean useCache) {
- throw new UnsupportedOperationException("Not supported yet");
- }
-
- /**
- * Gets the flag which indicates whether a cache file is used when creating
- * ImageInputStreams and ImageOutputStreams or not. This method returns the
- * current value which is set by setUseCache method.
- *
- * @return the use cache flag.
- */
- public static boolean getUseCache() {
- // TODO implement
- return false;
- }
-
- /**
- * Sets the cache directory.
- *
- * @param cacheDirectory
- * the File which specifies a cache directory.
- */
- public static void setCacheDirectory(File cacheDirectory) {
- throw new UnsupportedOperationException("Not supported yet");
- }
-
- /**
- * Gets the directory where cache files are created, returned the file which
- * is set by setCacheDirectory method, or null.
- *
- * @return the File object which is set by setCacheDirectory method, or
- * null.
- */
- public static File getCacheDirectory() {
- // TODO implement
- // -- null indicates system-dep default temporary directory
- return null;
- }
-
- /**
- * Creates an ImageInputStream from the specified Object. The specified
- * Object should obtain the input source such as File, or InputStream.
- *
- * @param input
- * the input Object such as File, or InputStream.
- * @return the ImageInputStream object, or null.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public static ImageInputStream createImageInputStream(Object input) throws IOException {
-
- if (input == null) {
- throw new IllegalArgumentException("input source cannot be NULL");
- }
-
- Iterator<ImageInputStreamSpi> it = registry.getServiceProviders(ImageInputStreamSpi.class,
- true);
-
- while (it.hasNext()) {
- ImageInputStreamSpi spi = it.next();
- if (spi.getInputClass().isInstance(input)) {
- return spi.createInputStreamInstance(input);
- }
- }
- return null;
- }
-
- /**
- * Creates an ImageOutputStream using the specified Object. The specified
- * Object should obtain the output source such as File, or OutputStream.
- *
- * @param output
- * the output Object such as File, or OutputStream.
- * @return the ImageOutputStream object, or null.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public static ImageOutputStream createImageOutputStream(Object output) throws IOException {
- if (output == null) {
- throw new IllegalArgumentException("output destination cannot be NULL");
- }
-
- Iterator<ImageOutputStreamSpi> it = registry.getServiceProviders(
- ImageOutputStreamSpi.class, true);
-
- while (it.hasNext()) {
- ImageOutputStreamSpi spi = it.next();
- if (spi.getOutputClass().isInstance(output)) {
- // todo - use getUseCache and getCacheDir here
- return spi.createOutputStreamInstance(output);
- }
- }
- return null;
- }
-
- /**
- * Gets the array of format names as String which can be decoded by
- * registered ImageReader objects.
- *
- * @return the array of format names.
- */
- public static String[] getReaderFormatNames() {
- throw new UnsupportedOperationException("Not supported yet");
- }
-
- /**
- * Gets the array of MIME types as String which can be decoded by registered
- * ImageReader objects.
- *
- * @return the array of MIME types.
- */
- public static String[] getReaderMIMETypes() {
- throw new UnsupportedOperationException("Not supported yet");
- }
-
- /**
- * Gets the Iterator of registered ImageReader which are able to decode an
- * input data specified by input Object.
- *
- * @param input
- * the input Object with encoded data such as ImageInputStream
- * object.
- * @return the Iterator of registered ImageReader.
- */
- public static Iterator<ImageReader> getImageReaders(Object input) {
- if (input == null) {
- throw new NullPointerException("input cannot be NULL");
- }
-
- Iterator<ImageReaderSpi> it = registry.getServiceProviders(ImageReaderSpi.class,
- new CanReadFilter(input), true);
-
- return new SpiIteratorToReadersIteratorWrapper(it);
- }
-
- /**
- * Gets the Iterator of registered ImageReader which are able to decode the
- * specified format.
- *
- * @param formatName
- * the format name such as "jpeg", or "gif".
- * @return the Iterator of registered ImageReader.
- */
- public static Iterator<ImageReader> getImageReadersByFormatName(String formatName) {
- if (formatName == null) {
- throw new NullPointerException("format name cannot be NULL");
- }
-
- Iterator<ImageReaderSpi> it = registry.getServiceProviders(ImageReaderSpi.class,
- new FormatFilter(formatName), true);
-
- return new SpiIteratorToReadersIteratorWrapper(it);
- }
-
- /**
- * Gets the Iterator which lists the registered ImageReader objects that are
- * able to decode files with the specified suffix.
- *
- * @param fileSuffix
- * the file suffix such as "jpg".
- * @return the Iterator of registered ImageReaders.
- */
- public static Iterator<ImageReader> getImageReadersBySuffix(String fileSuffix) {
- if (fileSuffix == null) {
- throw new NullPointerException("suffix cannot be NULL");
- }
- Iterator<ImageReaderSpi> it = registry.getServiceProviders(ImageReaderSpi.class,
- new SuffixFilter(fileSuffix), true);
-
- return new SpiIteratorToReadersIteratorWrapper(it);
- }
-
- /**
- * Gets the Iterator of registered ImageReader objects that are able to
- * decode files with the specified MIME type.
- *
- * @param MIMEType
- * the MIME type such as "image/jpeg".
- * @return the Iterator of registered ImageReaders.
- */
- public static Iterator<ImageReader> getImageReadersByMIMEType(String MIMEType) {
- throw new UnsupportedOperationException("Not supported yet");
- }
-
- /**
- * Gets an array of Strings giving the names of the formats supported by
- * registered ImageWriter objects.
- *
- * @return the array of format names.
- */
- public static String[] getWriterFormatNames() {
- throw new UnsupportedOperationException("Not supported yet");
- }
-
- /**
- * Gets an array of Strings giving the MIME types of the formats supported
- * by registered ImageWriter objects.
- *
- * @return the array of MIME types.
- */
- public static String[] getWriterMIMETypes() {
- throw new UnsupportedOperationException("Not supported yet");
- }
-
- /**
- * Gets the Iterator which lists the registered ImageReader objects that are
- * able to encode the specified image format.
- *
- * @param formatName
- * the image format name such as "jpeg".
- * @return the Iterator of registered ImageWriter.
- */
- public static Iterator<ImageWriter> getImageWritersByFormatName(String formatName) {
- if (formatName == null) {
- throw new NullPointerException("format name cannot be NULL");
- }
-
- Iterator<ImageWriterSpi> it = registry.getServiceProviders(ImageWriterSpi.class,
- new FormatFilter(formatName), true);
-
- return new SpiIteratorToWritersIteratorWrapper(it);
- }
-
- /**
- * Gets the Iterator which lists the registered ImageReader objects that are
- * able to encode the specified suffix.
- *
- * @param fileSuffix
- * the file suffix such as "jpg".
- * @return the Iterator of registered ImageWriter.
- */
- public static Iterator<ImageWriter> getImageWritersBySuffix(String fileSuffix) {
- if (fileSuffix == null) {
- throw new NullPointerException("suffix cannot be NULL");
- }
- Iterator<ImageWriterSpi> it = registry.getServiceProviders(ImageWriterSpi.class,
- new SuffixFilter(fileSuffix), true);
- return new SpiIteratorToWritersIteratorWrapper(it);
- }
-
- /**
- * Gets the Iterator which lists the registered ImageReader objects that are
- * able to encode the specified MIME type.
- *
- * @param MIMEType
- * the MIME type such as "image/jpeg".
- * @return the Iterator of registered ImageWriter.
- */
- public static Iterator<ImageWriter> getImageWritersByMIMEType(String MIMEType) {
- throw new UnsupportedOperationException("Not supported yet");
- }
-
- /**
- * Gets an ImageWriter object which corresponds to the specified
- * ImageReader, or returns null if the specified ImageReader is not
- * registered.
- *
- * @param reader
- * the specified ImageReader.
- * @return the ImageWriter, or null.
- */
- public static ImageWriter getImageWriter(ImageReader reader) {
- throw new UnsupportedOperationException("Not supported yet");
- }
-
- /**
- * Gets an ImageReader object which corresponds to the specified
- * ImageWriter, or returns null if the specified ImageWriter is not
- * registered.
- *
- * @param writer
- * the registered ImageWriter object.
- * @return the ImageReader.
- */
- public static ImageReader getImageReader(ImageWriter writer) {
- throw new UnsupportedOperationException("Not supported yet");
- }
-
- /**
- * Gets the Iterator of ImageWriter objects which are able to encode images
- * with the specified ImageTypeSpecifier and format.
- *
- * @param type
- * the ImageTypeSpecifier, which defines layout.
- * @param formatName
- * the format name.
- * @return the Iterator of ImageWriter objects.
- */
- public static Iterator<ImageWriter> getImageWriters(ImageTypeSpecifier type, String formatName) {
- if (type == null) {
- throw new NullPointerException("type cannot be NULL");
- }
-
- if (formatName == null) {
- throw new NullPointerException("format name cannot be NULL");
- }
-
- Iterator<ImageWriterSpi> it = registry.getServiceProviders(ImageWriterSpi.class,
- new FormatAndEncodeFilter(type, formatName), true);
-
- return new SpiIteratorToWritersIteratorWrapper(it);
- }
-
- /**
- * Gets the Iterator of registered ImageTranscoders which are able to
- * transcode the metadata of the specified ImageReader object to a suitable
- * object for encoding by the specified ImageWriter.
- *
- * @param reader
- * the specified ImageReader.
- * @param writer
- * the specified ImageWriter.
- * @return the Iterator of registered ImageTranscoders.
- */
- public static Iterator<ImageTranscoder> getImageTranscoders(ImageReader reader,
- ImageWriter writer) {
- throw new UnsupportedOperationException("Not supported yet");
- }
-
- /**
- * Reads image data from the specified File and decodes it using the
- * appropriate registered ImageReader object. The File is wrapped in an
- * ImageInputStream.
- *
- * @param input
- * the File to be read.
- * @return the BufferedImage decoded from the specified File, or null.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public static BufferedImage read(File input) throws IOException {
- if (input == null) {
- throw new IllegalArgumentException("input == null!");
- }
-
- ImageInputStream stream = createImageInputStream(input);
- return read(stream);
- }
-
- /**
- * Reads image data from the specified InputStream and decodes it using an
- * appropriate registered an ImageReader object.
- *
- * @param input
- * the InputStream.
- * @return the BufferedImage decoded from the specified InputStream, or
- * null.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public static BufferedImage read(InputStream input) throws IOException {
- if (input == null) {
- throw new IllegalArgumentException("input == null!");
- }
-
- ImageInputStream stream = createImageInputStream(input);
- return read(stream);
- }
-
- /**
- * Reads image data from the specified URL and decodes it using the
- * appropriate registered ImageReader object.
- *
- * @param input
- * the URL to be read.
- * @return the BufferedImage decoded from the specified URL, or null.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public static BufferedImage read(URL input) throws IOException {
- if (input == null) {
- throw new IllegalArgumentException("input == null!");
- }
-
- InputStream stream = input.openStream();
- BufferedImage res = read(stream);
- stream.close();
-
- return res;
- }
-
- /**
- * Reads image data from the specified ImageInputStream and decodes it using
- * appropriate registered an ImageReader object.
- *
- * @param stream
- * the ImageInputStream.
- * @return the BufferedImage decoded from the specified ImageInputStream, or
- * null.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public static BufferedImage read(ImageInputStream stream) throws IOException {
- if (stream == null) {
- throw new IllegalArgumentException("stream == null!");
- }
-
- Iterator<ImageReader> imageReaders = getImageReaders(stream);
- if (!imageReaders.hasNext()) {
- return null;
- }
-
- ImageReader reader = imageReaders.next();
- reader.setInput(stream, false, true);
- BufferedImage res = reader.read(0);
- reader.dispose();
-
- try {
- stream.close();
- } catch (IOException e) {
- // Stream could be already closed, proceed silently in this case
- }
-
- return res;
- }
-
- /**
- * Writes the specified image in the specified format (using an appropriate
- * ImageWriter) to the specified ImageOutputStream.
- *
- * @param im
- * the RenderedImage.
- * @param formatName
- * the format name.
- * @param output
- * the ImageOutputStream where Image to be written.
- * @return true, if Image is written successfully, false otherwise.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public static boolean write(RenderedImage im, String formatName, ImageOutputStream output)
- throws IOException {
-
- if (im == null) {
- throw new IllegalArgumentException("image cannot be NULL");
- }
- if (formatName == null) {
- throw new IllegalArgumentException("format name cannot be NULL");
- }
- if (output == null) {
- throw new IllegalArgumentException("output cannot be NULL");
- }
-
- Iterator<ImageWriter> it = getImageWriters(ImageTypeSpecifier.createFromRenderedImage(im),
- formatName);
- if (it.hasNext()) {
- ImageWriter writer = it.next();
- writer.setOutput(output);
- writer.write(im);
- output.flush();
- writer.dispose();
- return true;
- }
- return false;
- }
-
- /**
- * Writes the specified image in the specified format (using an appropriate
- * ImageWriter) to the specified File.
- *
- * @param im
- * the RenderedImage.
- * @param formatName
- * the format name.
- * @param output
- * the output File where Image to be written.
- * @return true, if Image is written successfully, false otherwise.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public static boolean write(RenderedImage im, String formatName, File output)
- throws IOException {
-
- if (output == null) {
- throw new IllegalArgumentException("output cannot be NULL");
- }
-
- if (output.exists()) {
- output.delete();
- }
-
- ImageOutputStream ios = createImageOutputStream(output);
- boolean rt = write(im, formatName, ios);
- ios.close();
- return rt;
- }
-
- /**
- * Writes the specified image in the specified format (using an appropriate
- * ImageWriter) to the specified OutputStream.
- *
- * @param im
- * the RenderedImage.
- * @param formatName
- * the format name.
- * @param output
- * the OutputStream where Image is to be written.
- * @return true, if Image is written successfully, false otherwise.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public static boolean write(RenderedImage im, String formatName, OutputStream output)
- throws IOException {
-
- if (output == null) {
- throw new IllegalArgumentException("output cannot be NULL");
- }
-
- ImageOutputStream ios = createImageOutputStream(output);
- boolean rt = write(im, formatName, ios);
- ios.close();
- return rt;
- }
-
- /**
- * Filter to match spi by format name.
- */
- static class FormatFilter implements ServiceRegistry.Filter {
-
- /**
- * The name.
- */
- private String name;
-
- /**
- * Instantiates a new format filter.
- *
- * @param name
- * the name.
- */
- public FormatFilter(String name) {
- this.name = name;
- }
-
- public boolean filter(Object provider) {
- ImageReaderWriterSpi spi = (ImageReaderWriterSpi)provider;
- return Arrays.asList(spi.getFormatNames()).contains(name);
- }
- }
-
- /**
- * Filter to match spi by format name and encoding possibility.
- */
- static class FormatAndEncodeFilter extends FormatFilter {
-
- /**
- * The type.
- */
- private ImageTypeSpecifier type;
-
- /**
- * Instantiates a new format and encode filter.
- *
- * @param type
- * the type.
- * @param name
- * the name.
- */
- public FormatAndEncodeFilter(ImageTypeSpecifier type, String name) {
- super(name);
- this.type = type;
- }
-
- @Override
- public boolean filter(Object provider) {
- ImageWriterSpi spi = (ImageWriterSpi)provider;
- return super.filter(provider) && spi.canEncodeImage(type);
- }
- }
-
- /**
- * Filter to match spi by suffix.
- */
- static class SuffixFilter implements ServiceRegistry.Filter {
-
- /**
- * The suf.
- */
- private String suf;
-
- /**
- * Instantiates a new suffix filter.
- *
- * @param suf
- * the suf.
- */
- public SuffixFilter(String suf) {
- this.suf = suf;
- }
-
- public boolean filter(Object provider) {
- ImageReaderWriterSpi spi = (ImageReaderWriterSpi)provider;
- return Arrays.asList(spi.getFileSuffixes()).contains(suf);
- }
- }
-
- /**
- * Filter to match spi by decoding possibility.
- */
- static class CanReadFilter implements ServiceRegistry.Filter {
-
- /**
- * The input.
- */
- private Object input;
-
- /**
- * Instantiates a new can read filter.
- *
- * @param input
- * the input.
- */
- public CanReadFilter(Object input) {
- this.input = input;
- }
-
- public boolean filter(Object provider) {
- ImageReaderSpi spi = (ImageReaderSpi)provider;
- try {
- return spi.canDecodeInput(input);
- } catch (IOException e) {
- return false;
- }
- }
- }
-
- /**
- * Wraps Spi's iterator to ImageWriter iterator.
- */
- static class SpiIteratorToWritersIteratorWrapper implements Iterator<ImageWriter> {
-
- /**
- * The backend.
- */
- private Iterator<ImageWriterSpi> backend;
-
- /**
- * Instantiates a new spi iterator to writers iterator wrapper.
- *
- * @param backend
- * the backend.
- */
- public SpiIteratorToWritersIteratorWrapper(Iterator<ImageWriterSpi> backend) {
- this.backend = backend;
- }
-
- /**
- * Next.
- *
- * @return the image writer.
- */
- public ImageWriter next() {
- try {
- return backend.next().createWriterInstance();
- } catch (IOException e) {
- e.printStackTrace();
- return null;
- }
- }
-
- /**
- * Checks for next.
- *
- * @return true, if successful.
- */
- public boolean hasNext() {
- return backend.hasNext();
- }
-
- /**
- * Removes the.
- */
- public void remove() {
- throw new UnsupportedOperationException(
- "Use deregisterServiceprovider instead of Iterator.remove()");
- }
- }
-
- /**
- * Wraps spi's iterator to ImageReader iterator.
- */
- static class SpiIteratorToReadersIteratorWrapper implements Iterator<ImageReader> {
-
- /**
- * The backend.
- */
- private Iterator<ImageReaderSpi> backend;
-
- /**
- * Instantiates a new spi iterator to readers iterator wrapper.
- *
- * @param backend
- * the backend.
- */
- public SpiIteratorToReadersIteratorWrapper(Iterator<ImageReaderSpi> backend) {
- this.backend = backend;
- }
-
- /**
- * Next.
- *
- * @return the image reader.
- */
- public ImageReader next() {
- try {
- return backend.next().createReaderInstance();
- } catch (IOException e) {
- e.printStackTrace();
- return null;
- }
- }
-
- /**
- * Checks for next.
- *
- * @return true, if successful.
- */
- public boolean hasNext() {
- return backend.hasNext();
- }
-
- /**
- * Removes the.
- */
- public void remove() {
- throw new UnsupportedOperationException(
- "Use deregisterServiceprovider instead of Iterator.remove()");
- }
- }
-}
diff --git a/awt/javax/imageio/ImageReadParam.java b/awt/javax/imageio/ImageReadParam.java
deleted file mode 100644
index 9cc5c5f..0000000
--- a/awt/javax/imageio/ImageReadParam.java
+++ /dev/null
@@ -1,201 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/**
- * @author Sergey I. Salishev
- * @version $Revision: 1.2 $
- */
-
-package javax.imageio;
-
-import java.awt.Dimension;
-import java.awt.image.BufferedImage;
-
-/*
- * @author Sergey I. Salishev
- * @version $Revision: 1.2 $
- */
-
-/**
- * The ImageReadParam class provides information to the ImageReader about how an
- * image is to be decoded.
- *
- * @since Android 1.0
- */
-public class ImageReadParam extends IIOParam {
-
- /**
- * This flag indicates if this ImageReadParam supports setting the source
- * rendering size.
- */
- protected boolean canSetSourceRenderSize;
-
- /**
- * The destination BufferedImage.
- */
- protected BufferedImage destination;
-
- /**
- * The destination bands.
- */
- protected int[] destinationBands;
-
- /**
- * The minimum progressive pass.
- */
- protected int minProgressivePass;
-
- /**
- * The number of progressive passes.
- */
- protected int numProgressivePasses;
-
- /**
- * The source render size.
- */
- protected Dimension sourceRenderSize;
-
- /**
- * Returns true if this ImageReaderParam supports rendering a source image
- * at an arbitrary size.
- *
- * @return true, if this ImageReaderParam supports rendering a source image
- * at an arbitrary size, false otherwise.
- */
- public boolean canSetSourceRenderSize() {
- return canSetSourceRenderSize;
- }
-
- /**
- * Gets the current destination image as BufferedImage.
- *
- * @return the BufferedImage which represents the destination.
- */
- public BufferedImage getDestination() {
- return destination;
- }
-
- /**
- * Gets the indices of destination bands.
- *
- * @return the array of destination bands.
- */
- public int[] getDestinationBands() {
- return destinationBands;
- }
-
- /**
- * Gets the index of the maximum pass to be decoded. This method returns
- * Integer.MAX_VALUE, if getSourceNumProgressivePasses() method returns
- * value that is equal to Integer.MAX_VALUE. Otherwise this method returns
- * getSourceMinProgressivePass() + getSourceNumProgressivePasses() - 1.
- *
- * @return the index of the maximum pass to be decoded.
- */
- public int getSourceMaxProgressivePass() {
- if (getSourceNumProgressivePasses() == Integer.MAX_VALUE) {
- return Integer.MAX_VALUE;
- }
- return getSourceMinProgressivePass() + getSourceNumProgressivePasses() - 1;
- }
-
- /**
- * Gets the index of the minimum progressive pass that is decoded, default
- * is 0.
- *
- * @return the index of the minimum progressive pass that is decoded,
- * default is 0.
- */
- public int getSourceMinProgressivePass() {
- return minProgressivePass;
- }
-
- /**
- * Gets the number of progressive passes. The default value is
- * Integer.MAX_VALUE.
- *
- * @return the number of progressive passes.
- */
- public int getSourceNumProgressivePasses() {
- return numProgressivePasses;
- }
-
- /**
- * Gets the dimension of source image which will be rendered during decoding
- * process.
- *
- * @return the source render size.
- */
- public Dimension getSourceRenderSize() {
- return sourceRenderSize;
- }
-
- /**
- * Sets the specified destination image. This image will be used by read,
- * readAll, and readRaster methods, and a reference to it will be returned
- * by those methods.
- *
- * @param destination
- * the destination image.
- */
- public void setDestination(BufferedImage destination) {
- this.destination = destination;
- }
-
- /**
- * Sets the indices of the destination bands.
- *
- * @param destinationBands
- * the indices of the destination bands.
- */
- public void setDestinationBands(int[] destinationBands) {
- this.destinationBands = destinationBands;
- }
-
- @Override
- public void setDestinationType(ImageTypeSpecifier destinationType) {
- this.destinationType = destinationType;
- }
-
- /**
- * Sets the source progressive passes.
- *
- * @param minPass
- * the index of the minimum pass to be decoded.
- * @param numPasses
- * the number of passes to be decoded.
- */
- public void setSourceProgressivePasses(int minPass, int numPasses) {
- minProgressivePass = minPass;
- numProgressivePasses = numPasses;
- }
-
- /**
- * Sets the dimension size of source image if an image can be rendered at an
- * arbitrary size.
- *
- * @param size
- * the size of rendered image.
- * @throws UnsupportedOperationException
- * the unsupported operation exception.
- */
- public void setSourceRenderSize(Dimension size) throws UnsupportedOperationException {
- if (!canSetSourceRenderSize) {
- throw new UnsupportedOperationException("can't set source renderer size");
- }
- sourceRenderSize = size;
- }
-}
diff --git a/awt/javax/imageio/ImageReader.java b/awt/javax/imageio/ImageReader.java
deleted file mode 100644
index cf282ed..0000000
--- a/awt/javax/imageio/ImageReader.java
+++ /dev/null
@@ -1,1162 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/**
- * @author Rustem V. Rafikov
- * @version $Revision: 1.3 $
- */
-
-package javax.imageio;
-
-import javax.imageio.spi.ImageReaderSpi;
-import javax.imageio.stream.ImageInputStream;
-import javax.imageio.metadata.IIOMetadata;
-import javax.imageio.event.IIOReadWarningListener;
-import javax.imageio.event.IIOReadProgressListener;
-import javax.imageio.event.IIOReadUpdateListener;
-import java.util.Locale;
-import java.util.List;
-import java.util.Iterator;
-import java.util.Set;
-import java.io.IOException;
-import java.awt.image.BufferedImage;
-import java.awt.image.Raster;
-import java.awt.image.RenderedImage;
-import java.awt.*;
-
-/**
- * The ImageReader class is an abstract class for decoding images. ImageReader
- * objects are instantiated by the service provider interface, ImageReaderSpi
- * class, for the specific format. ImageReaderSpi class should be registered
- * with the IIORegistry, which uses them for format recognition and presentation
- * of available format readers and writers.
- *
- * @since Android 1.0
- */
-public abstract class ImageReader {
-
- /**
- * The originating provider.
- */
- protected ImageReaderSpi originatingProvider;
-
- /**
- * The input object such as ImageInputStream.
- */
- protected Object input;
-
- /**
- * The seek forward only.
- */
- protected boolean seekForwardOnly;
-
- /**
- * The ignore metadata flag indicates whether current input source has been
- * marked as metadata is allowed to be ignored by setInput.
- */
- protected boolean ignoreMetadata;
-
- /**
- * The minimum index.
- */
- protected int minIndex;
-
- /**
- * The available locales.
- */
- protected Locale[] availableLocales;
-
- /**
- * The locale.
- */
- protected Locale locale;
-
- /**
- * The list of warning listeners.
- */
- protected List<IIOReadWarningListener> warningListeners;
-
- /**
- * The list of warning locales.
- */
- protected List<Locale> warningLocales;
-
- /**
- * The list of progress listeners.
- */
- protected List<IIOReadProgressListener> progressListeners;
-
- /**
- * The list of update listeners.
- */
- protected List<IIOReadUpdateListener> updateListeners;
-
- /**
- * Instantiates a new ImageReader.
- *
- * @param originatingProvider
- * the ImageReaderSpi which instantiates this ImageReader.
- */
- protected ImageReader(ImageReaderSpi originatingProvider) {
- this.originatingProvider = originatingProvider;
- }
-
- /**
- * Gets the format name of this input source.
- *
- * @return the format name of this input source.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public String getFormatName() throws IOException {
- return originatingProvider.getFormatNames()[0];
- }
-
- /**
- * Gets the ImageReaderSpi which instantiated this ImageReader.
- *
- * @return the ImageReaderSpi.
- */
- public ImageReaderSpi getOriginatingProvider() {
- return originatingProvider;
- }
-
- /**
- * Sets the specified Object as the input source of this ImageReader.
- *
- * @param input
- * the input source, it can be an ImageInputStream or other
- * supported objects.
- * @param seekForwardOnly
- * indicates whether the stream must be read sequentially from
- * its current starting point.
- * @param ignoreMetadata
- * parameter which indicates if metadata may be ignored during
- * reads or not.
- */
- public void setInput(Object input, boolean seekForwardOnly, boolean ignoreMetadata) {
- if (input != null) {
- if (!isSupported(input) && !(input instanceof ImageInputStream)) {
- throw new IllegalArgumentException("input " + input + " is not supported");
- }
- }
- this.minIndex = 0;
- this.seekForwardOnly = seekForwardOnly;
- this.ignoreMetadata = ignoreMetadata;
- this.input = input;
- }
-
- /**
- * Checks if is supported.
- *
- * @param input
- * the input.
- * @return true, if is supported.
- */
- private boolean isSupported(Object input) {
- ImageReaderSpi spi = getOriginatingProvider();
- if (null != spi) {
- Class[] outTypes = spi.getInputTypes();
- for (Class<?> element : outTypes) {
- if (element.isInstance(input)) {
- return true;
- }
- }
- }
- return false;
- }
-
- /**
- * Sets the specified Object as the input source of this ImageReader.
- * Metadata is not ignored.
- *
- * @param input
- * the input source, it can be an ImageInputStream or other
- * supported objects.
- * @param seekForwardOnly
- * indicates whether the stream must be read sequentially from
- * its current starting point.
- */
- public void setInput(Object input, boolean seekForwardOnly) {
- setInput(input, seekForwardOnly, false);
- }
-
- /**
- * Sets the specified Object as the input source of this ImageReader.
- * Metadata is not ignored and forward seeking is not required.
- *
- * @param input
- * the input source, it can be ImageInputStream or other objects.
- */
- public void setInput(Object input) {
- setInput(input, false, false);
- }
-
- /**
- * Gets the input source object of this ImageReader, or returns null.
- *
- * @return the input source object such as ImageInputStream, or null.
- */
- public Object getInput() {
- return input;
- }
-
- /**
- * Checks if the input source supports only forward reading, or not.
- *
- * @return true, if the input source supports only forward reading, false
- * otherwise.
- */
- public boolean isSeekForwardOnly() {
- return seekForwardOnly;
- }
-
- /**
- * Returns true if the current input source allows to metadata to be ignored
- * by passing true as the ignoreMetadata argument to the setInput method.
- *
- * @return true, if the current input source allows to metadata to be
- * ignored by passing true as the ignoreMetadata argument to the
- * setInput method.
- */
- public boolean isIgnoringMetadata() {
- return ignoreMetadata;
- }
-
- /**
- * Gets the minimum valid index for reading an image, thumbnail, or image
- * metadata.
- *
- * @return the minimum valid index for reading an image, thumbnail, or image
- * metadata.
- */
- public int getMinIndex() {
- return minIndex;
- }
-
- /**
- * Gets the available locales.
- *
- * @return an array of the available locales.
- */
- public Locale[] getAvailableLocales() {
- return availableLocales;
- }
-
- /**
- * Sets the locale to this ImageReader.
- *
- * @param locale
- * the Locale.
- */
- public void setLocale(Locale locale) {
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- /**
- * Gets the locale of this ImageReader.
- *
- * @return the locale of this ImageReader.
- */
- public Locale getLocale() {
- return locale;
- }
-
- /**
- * Gets the number of images available in the current input source.
- *
- * @param allowSearch
- * the parameter which indicates what a search is required; if
- * false, the reader may return -1 without searching.
- * @return the number of images.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public abstract int getNumImages(boolean allowSearch) throws IOException;
-
- /**
- * Gets the width of the specified image in input source.
- *
- * @param imageIndex
- * the image index.
- * @return the width in pixels.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public abstract int getWidth(int imageIndex) throws IOException;
-
- /**
- * Gets the height of the specified image in input source.
- *
- * @param imageIndex
- * the image index.
- * @return the height in pixels.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public abstract int getHeight(int imageIndex) throws IOException;
-
- /**
- * Checks if the storage format of the specified image places an impediment
- * on random pixels access or not.
- *
- * @param imageIndex
- * the image's index.
- * @return true, if the storage format of the specified image places an
- * impediment on random pixels access, false otherwise.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public boolean isRandomAccessEasy(int imageIndex) throws IOException {
- return false; // def
- }
-
- /**
- * Gets the aspect ratio (width devided by height) of the image.
- *
- * @param imageIndex
- * the image index.
- * @return the aspect ratio of the image.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public float getAspectRatio(int imageIndex) throws IOException {
- return (float)getWidth(imageIndex) / getHeight(imageIndex);
- }
-
- /**
- * Gets an ImageTypeSpecifier which indicates the type of the specified
- * image.
- *
- * @param imageIndex
- * the image's index.
- * @return the ImageTypeSpecifier.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public ImageTypeSpecifier getRawImageType(int imageIndex) throws IOException {
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- /**
- * Gets an Iterator of ImageTypeSpecifier objects which are associated with
- * image types that may be used when decoding specified image.
- *
- * @param imageIndex
- * the image index.
- * @return an Iterator of ImageTypeSpecifier objects.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public abstract Iterator<ImageTypeSpecifier> getImageTypes(int imageIndex) throws IOException;
-
- /**
- * Gets the default ImageReadParam object.
- *
- * @return the ImageReadParam object.
- */
- public ImageReadParam getDefaultReadParam() {
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- /**
- * Gets an IIOMetadata object for this input source.
- *
- * @return the IIOMetadata.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public abstract IIOMetadata getStreamMetadata() throws IOException;
-
- /**
- * Gets an IIOMetadata object for this input source.
- *
- * @param formatName
- * the desired metadata format to be used in the returned
- * IIOMetadata object.
- * @param nodeNames
- * the node names of the document.
- * @return the IIOMetadata.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public IIOMetadata getStreamMetadata(String formatName, Set<String> nodeNames)
- throws IOException {
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- /**
- * Gets the image metadata of the specified image in input source.
- *
- * @param imageIndex
- * the image index.
- * @return the IIOMetadata.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public abstract IIOMetadata getImageMetadata(int imageIndex) throws IOException;
-
- /**
- * Gets the image metadata of the specified image input source.
- *
- * @param imageIndex
- * the image index.
- * @param formatName
- * the desired metadata format to be used in the returned
- * IIOMetadata object.
- * @param nodeNames
- * the node names which can be contained in the document.
- * @return the IIOMetadata.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public IIOMetadata getImageMetadata(int imageIndex, String formatName, Set<String> nodeNames)
- throws IOException {
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- /**
- * Reads the specified image and returns it as a BufferedImage using the
- * default ImageReadParam.
- *
- * @param imageIndex
- * the image index.
- * @return the BufferedImage.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public BufferedImage read(int imageIndex) throws IOException {
- return read(imageIndex, null);
- }
-
- /**
- * Reads the specified image and returns it as a BufferedImage using the
- * specified ImageReadParam.
- *
- * @param imageIndex
- * the image index.
- * @param param
- * the ImageReadParam.
- * @return the BufferedImage.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public abstract BufferedImage read(int imageIndex, ImageReadParam param) throws IOException;
-
- /**
- * Reads the specified image and returns an IIOImage with this image,
- * thumbnails, and metadata for this image, using the specified
- * ImageReadParam.
- *
- * @param imageIndex
- * the image index.
- * @param param
- * the ImageReadParam.
- * @return the IIOImage.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public IIOImage readAll(int imageIndex, ImageReadParam param) throws IOException {
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- /**
- * Returns an Iterator of IIOImages from the input source.
- *
- * @param params
- * the Iterator of ImageReadParam objects.
- * @return the iterator of IIOImages.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public Iterator<IIOImage> readAll(Iterator<? extends ImageReadParam> params) throws IOException {
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- /**
- * Checks whether or not this plug-in supports reading a Raster.
- *
- * @return true, if this plug-in supports reading a Raster, false otherwise.
- */
- public boolean canReadRaster() {
- return false; // def
- }
-
- /**
- * Reads a new Raster object which contains the raw pixel data from the
- * image.
- *
- * @param imageIndex
- * the image index.
- * @param param
- * the ImageReadParam.
- * @return the Raster.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public Raster readRaster(int imageIndex, ImageReadParam param) throws IOException {
- throw new UnsupportedOperationException("Unsupported");
- }
-
- /**
- * Checks if the specified image has tiles or not.
- *
- * @param imageIndex
- * the image's index.
- * @return true, if the specified image has tiles, false otherwise.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public boolean isImageTiled(int imageIndex) throws IOException {
- return false; // def
- }
-
- /**
- * Gets the tile width in the specified image.
- *
- * @param imageIndex
- * the image's index.
- * @return the tile width.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public int getTileWidth(int imageIndex) throws IOException {
- return getWidth(imageIndex); // def
- }
-
- /**
- * Gets the tile height in the specified image.
- *
- * @param imageIndex
- * the image's index.
- * @return the tile height.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public int getTileHeight(int imageIndex) throws IOException {
- return getHeight(imageIndex); // def
- }
-
- /**
- * Gets the X coordinate of the upper left corner of the tile grid in the
- * specified image.
- *
- * @param imageIndex
- * the image's index.
- * @return the X coordinate of the upper left corner of the tile grid.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public int getTileGridXOffset(int imageIndex) throws IOException {
- return 0; // def
- }
-
- /**
- * Gets the Y coordinate of the upper left corner of the tile grid in the
- * specified image.
- *
- * @param imageIndex
- * the image's index.
- * @return the Y coordinate of the upper left corner of the tile grid.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public int getTileGridYOffset(int imageIndex) throws IOException {
- return 0; // def
- }
-
- /**
- * Reads the tile specified by the tileX and tileY parameters of the
- * specified image and returns it as a BufferedImage.
- *
- * @param imageIndex
- * the image index.
- * @param tileX
- * the X index of tile.
- * @param tileY
- * the Y index of tile.
- * @return the BufferedImage.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public BufferedImage readTile(int imageIndex, int tileX, int tileY) throws IOException {
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- /**
- * Reads the tile specified by the tileX and tileY parameters of the
- * specified image and returns it as a Raster.
- *
- * @param imageIndex
- * the image index.
- * @param tileX
- * the X index of tile.
- * @param tileY
- * the Y index of tile.
- * @return the Raster.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public Raster readTileRaster(int imageIndex, int tileX, int tileY) throws IOException {
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- /**
- * Reads the specified image using the specified ImageReadParam and returns
- * it as a RenderedImage.
- *
- * @param imageIndex
- * the image index.
- * @param param
- * the ImageReadParam.
- * @return the RenderedImage.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public RenderedImage readAsRenderedImage(int imageIndex, ImageReadParam param)
- throws IOException {
- return read(imageIndex, param);
- }
-
- /**
- * Returns true if the image format supported by this reader supports
- * thumbnail preview images.
- *
- * @return true, if the image format supported by this reader supports
- * thumbnail preview images, false otherwise.
- */
- public boolean readerSupportsThumbnails() {
- return false; // def
- }
-
- /**
- * Checks if the specified image has thumbnails or not.
- *
- * @param imageIndex
- * the image's index.
- * @return true, if the specified image has thumbnails, false otherwise.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public boolean hasThumbnails(int imageIndex) throws IOException {
- return getNumThumbnails(imageIndex) > 0; // def
- }
-
- /**
- * Gets the number of thumbnails for the specified image.
- *
- * @param imageIndex
- * the image's index.
- * @return the number of thumbnails.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public int getNumThumbnails(int imageIndex) throws IOException {
- return 0; // def
- }
-
- /**
- * Gets the width of the specified thumbnail for the specified image.
- *
- * @param imageIndex
- * the image's index.
- * @param thumbnailIndex
- * the thumbnail's index.
- * @return the thumbnail width.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public int getThumbnailWidth(int imageIndex, int thumbnailIndex) throws IOException {
- return readThumbnail(imageIndex, thumbnailIndex).getWidth(); // def
- }
-
- /**
- * Gets the height of the specified thumbnail for the specified image.
- *
- * @param imageIndex
- * the image's index.
- * @param thumbnailIndex
- * the thumbnail's index.
- * @return the thumbnail height.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public int getThumbnailHeight(int imageIndex, int thumbnailIndex) throws IOException {
- return readThumbnail(imageIndex, thumbnailIndex).getHeight(); // def
- }
-
- /**
- * Reads the thumbnail image for the specified image as a BufferedImage.
- *
- * @param imageIndex
- * the image index.
- * @param thumbnailIndex
- * the thumbnail index.
- * @return the BufferedImage.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public BufferedImage readThumbnail(int imageIndex, int thumbnailIndex) throws IOException {
- throw new UnsupportedOperationException("Unsupported"); // def
- }
-
- /**
- * Requests an abort operation for current reading operation.
- */
- public void abort() {
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- /**
- * Checks whether or not a request to abort the current read operation has
- * been made successfully.
- *
- * @return true, if the request to abort the current read operation has been
- * made successfully, false otherwise.
- */
- protected boolean abortRequested() {
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- /**
- * Clears all previous abort request, and abortRequested returns false after
- * calling this method.
- */
- protected void clearAbortRequest() {
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- /**
- * Adds the IIOReadWarningListener.
- *
- * @param listener
- * the IIOReadWarningListener.
- */
- public void addIIOReadWarningListener(IIOReadWarningListener listener) {
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- /**
- * Removes the specified IIOReadWarningListener.
- *
- * @param listener
- * the IIOReadWarningListener to be removed.
- */
- public void removeIIOReadWarningListener(IIOReadWarningListener listener) {
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- /**
- * Removes all registered IIOReadWarningListeners.
- */
- public void removeAllIIOReadWarningListeners() {
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- /**
- * Adds the IIOReadProgressListener.
- *
- * @param listener
- * the IIOReadProgressListener.
- */
- public void addIIOReadProgressListener(IIOReadProgressListener listener) {
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- /**
- * Removes the specified IIOReadProgressListener.
- *
- * @param listener
- * the IIOReadProgressListener to be removed.
- */
- public void removeIIOReadProgressListener(IIOReadProgressListener listener) {
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- /**
- * Removes registered IIOReadProgressListeners.
- */
- public void removeAllIIOReadProgressListeners() {
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- /**
- * Adds the IIOReadUpdateListener.
- *
- * @param listener
- * the IIOReadUpdateListener.
- */
- public void addIIOReadUpdateListener(IIOReadUpdateListener listener) {
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- /**
- * Removes the specified IIOReadUpdateListener.
- *
- * @param listener
- * the IIOReadUpdateListener to be removed.
- */
- public void removeIIOReadUpdateListener(IIOReadUpdateListener listener) {
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- /**
- * Removes registered IIOReadUpdateListeners.
- */
- public void removeAllIIOReadUpdateListeners() {
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- /**
- * Processes the start of an sequence of image reads by calling the
- * sequenceStarted method on all registered IIOReadProgressListeners.
- *
- * @param minIndex
- * the minimum index.
- */
- protected void processSequenceStarted(int minIndex) {
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- /**
- * Processes the completion of an sequence of image reads by calling
- * sequenceComplete method on all registered IIOReadProgressListeners.
- */
- protected void processSequenceComplete() {
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- /**
- * Processes the start of an image read by calling the imageStarted method
- * on all registered IIOReadProgressListeners.
- *
- * @param imageIndex
- * the image index.
- */
- protected void processImageStarted(int imageIndex) {
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- /**
- * Processes the current percentage of image completion by calling the
- * imageProgress method on all registered IIOReadProgressListeners.
- *
- * @param percentageDone
- * the percentage done.
- */
- protected void processImageProgress(float percentageDone) {
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- /**
- * Processes image completion by calling the imageComplete method on all
- * registered IIOReadProgressListeners.
- */
- protected void processImageComplete() {
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- /**
- * Processes the start of a thumbnail read by calling the thumbnailStarted
- * method on all registered IIOReadProgressListeners.
- *
- * @param imageIndex
- * the image index.
- * @param thumbnailIndex
- * the thumbnail index.
- */
- protected void processThumbnailStarted(int imageIndex, int thumbnailIndex) {
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- /**
- * Processes the current percentage of thumbnail completion by calling the
- * thumbnailProgress method on all registered IIOReadProgressListeners.
- *
- * @param percentageDone
- * the percentage done.
- */
- protected void processThumbnailProgress(float percentageDone) {
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- /**
- * Processes the completion of a thumbnail read by calling the
- * thumbnailComplete method on all registered IIOReadProgressListeners.
- */
- protected void processThumbnailComplete() {
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- /**
- * Processes a read aborted event by calling the readAborted method on all
- * registered IIOReadProgressListeners.
- */
- protected void processReadAborted() {
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- /**
- * Processes the beginning of a progressive pass by calling the passStarted
- * method on all registered IIOReadUpdateListeners.
- *
- * @param theImage
- * the image to be updated.
- * @param pass
- * the current pass index.
- * @param minPass
- * the minimum pass index.
- * @param maxPass
- * the maximum pass index.
- * @param minX
- * the X coordinate of of the upper left pixel.
- * @param minY
- * the Y coordinate of of the upper left pixel.
- * @param periodX
- * the horizontal separation between pixels.
- * @param periodY
- * the vertical separation between pixels.
- * @param bands
- * the number of affected bands.
- */
- protected void processPassStarted(BufferedImage theImage, int pass, int minPass, int maxPass,
- int minX, int minY, int periodX, int periodY, int[] bands) {
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- /**
- * Processes the update of a set of samples by calling the imageUpdate
- * method on all registered IIOReadUpdateListeners.
- *
- * @param theImage
- * the image to be updated.
- * @param minX
- * the X coordinate of the upper left pixel.
- * @param minY
- * the Y coordinate of the upper left pixel.
- * @param width
- * the width of updated area.
- * @param height
- * the height of updated area.
- * @param periodX
- * the horizontal separation between pixels.
- * @param periodY
- * the vertical separation between pixels.
- * @param bands
- * the number of affected bands.
- */
- protected void processImageUpdate(BufferedImage theImage, int minX, int minY, int width,
- int height, int periodX, int periodY, int[] bands) {
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- /**
- * Processes the end of a progressive pass by calling passComplete method of
- * registered IIOReadUpdateListeners.
- *
- * @param theImage
- * the image to be updated.
- */
- protected void processPassComplete(BufferedImage theImage) {
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- /**
- * Processes the beginning of a thumbnail progressive pass by calling the
- * thumbnailPassStarted method on all registered IIOReadUpdateListeners.
- *
- * @param theThumbnail
- * the thumbnail to be updated.
- * @param pass
- * the current pass index.
- * @param minPass
- * the minimum pass index.
- * @param maxPass
- * the maximum pass index.
- * @param minX
- * the X coordinate of the upper left pixel.
- * @param minY
- * the Y coordinate of the upper left pixel.
- * @param periodX
- * the horizontal separation between pixels.
- * @param periodY
- * the vertical separation between pixels.
- * @param bands
- * the number of affected bands.
- */
- protected void processThumbnailPassStarted(BufferedImage theThumbnail, int pass, int minPass,
- int maxPass, int minX, int minY, int periodX, int periodY, int[] bands) {
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- /**
- * Processes the update of a set of samples in a thumbnail image by calling
- * the thumbnailUpdate method on all registered IIOReadUpdateListeners.
- *
- * @param theThumbnail
- * the thumbnail to be updated.
- * @param minX
- * the X coordinate of the upper left pixel.
- * @param minY
- * the Y coordinate of the upper left pixel.
- * @param width
- * the total width of the updated area.
- * @param height
- * the total height of the updated area.
- * @param periodX
- * the horizontal separation between pixels.
- * @param periodY
- * the vertical separation between pixels.
- * @param bands
- * the number of affected bands.
- */
- protected void processThumbnailUpdate(BufferedImage theThumbnail, int minX, int minY,
- int width, int height, int periodX, int periodY, int[] bands) {
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- /**
- * Processes the end of a thumbnail progressive pass by calling the
- * thumbnailPassComplete method on all registered IIOReadUpdateListeners.
- *
- * @param theThumbnail
- * the thumbnail to be updated.
- */
- protected void processThumbnailPassComplete(BufferedImage theThumbnail) {
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- /**
- * Processes a warning message by calling warningOccurred method of
- * registered IIOReadWarningListeners.
- *
- * @param warning
- * the warning.
- */
- protected void processWarningOccurred(String warning) {
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- /**
- * Processes a warning by calling the warningOccurred method of on all
- * registered IIOReadWarningListeners.
- *
- * @param baseName
- * the base name of ResourceBundles.
- * @param keyword
- * the keyword to index the warning among ResourceBundles.
- */
- protected void processWarningOccurred(String baseName, String keyword) {
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- /**
- * Resets this ImageReader.
- */
- public void reset() {
- // def
- setInput(null, false);
- setLocale(null);
- removeAllIIOReadUpdateListeners();
- removeAllIIOReadWarningListeners();
- removeAllIIOReadProgressListeners();
- clearAbortRequest();
- }
-
- /**
- * Disposes of any resources.
- */
- public void dispose() {
- // do nothing by def
- }
-
- /**
- * Gets the region of source image that should be read with the specified
- * width, height and ImageReadParam.
- *
- * @param param
- * the ImageReadParam object, or null.
- * @param srcWidth
- * the source image's width.
- * @param srcHeight
- * the source image's height.
- * @return the Rectangle of source region.
- */
- protected static Rectangle getSourceRegion(ImageReadParam param, int srcWidth, int srcHeight) {
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- /**
- * Computes the specified source region and the specified destination region
- * with the specified the width and height of the source image, an optional
- * destination image, and an ImageReadParam.
- *
- * @param param
- * the an ImageReadParam object, or null.
- * @param srcWidth
- * the source image's width.
- * @param srcHeight
- * the source image's height.
- * @param image
- * the destination image.
- * @param srcRegion
- * the source region.
- * @param destRegion
- * the destination region.
- */
- protected static void computeRegions(ImageReadParam param, int srcWidth, int srcHeight,
- BufferedImage image, Rectangle srcRegion, Rectangle destRegion) {
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- /**
- * Checks the validity of the source and destination band and is called when
- * the reader knows the number of bands of the source image and the number
- * of bands of the destination image.
- *
- * @param param
- * the ImageReadParam for reading the Image.
- * @param numSrcBands
- * the number of bands in the source.
- * @param numDstBands
- * the number of bands in the destination.
- */
- protected static void checkReadParamBandSettings(ImageReadParam param, int numSrcBands,
- int numDstBands) {
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- /**
- * Gets the destination image where the decoded data is written.
- *
- * @param param
- * the ImageReadParam.
- * @param imageTypes
- * the iterator of ImageTypeSpecifier objects.
- * @param width
- * the width of the image being decoded.
- * @param height
- * the height of the image being decoded.
- * @return the BufferedImage where decoded pixels should be written.
- * @throws IIOException
- * the IIOException is thrown if there is no suitable
- * ImageTypeSpecifier.
- */
- protected static BufferedImage getDestination(ImageReadParam param,
- Iterator<ImageTypeSpecifier> imageTypes, int width, int height) throws IIOException {
- throw new UnsupportedOperationException("Not implemented yet");
- }
-}
diff --git a/awt/javax/imageio/ImageTranscoder.java b/awt/javax/imageio/ImageTranscoder.java
deleted file mode 100644
index 632d890..0000000
--- a/awt/javax/imageio/ImageTranscoder.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/**
- * @author Rustem V. Rafikov
- * @version $Revision: 1.3 $
- */
-
-package javax.imageio;
-
-import javax.imageio.metadata.IIOMetadata;
-import javax.imageio.ImageTypeSpecifier;
-
-/**
- * The ImageTranscoder interface is to be implemented by classes that perform
- * image transcoding operations, that is, take images written in one format and
- * write them in another format using read/write operations. Some image data can
- * be lost in such processes. The ImageTranscoder interface converts metadata
- * objects (IIOMetadata) of ImageReader to appropriate metadata object for
- * ImageWriter.
- *
- * @since Android 1.0
- */
-public interface ImageTranscoder {
-
- /**
- * Converts the specified IIOMetadata object using the specified
- * ImageWriteParam for obtaining writer's metadata structure.
- *
- * @param inData
- * the IIOMetadata.
- * @param param
- * the ImageWriteParam.
- * @return the IIOMetadata, or null.
- */
- IIOMetadata convertStreamMetadata(IIOMetadata inData, ImageWriteParam param);
-
- /**
- * Converts the specified IIOMetadata object using the specified
- * ImageWriteParam for obtaining writer's metadata structure and
- * ImageTypeSpecifier object for obtaining the layout and color information
- * of the image for this metadata.
- *
- * @param inData
- * the IIOMetadata.
- * @param imageType
- * the ImageTypeSpecifier.
- * @param param
- * the ImageWriteParam.
- * @return the IIOMetadata, or null.
- */
- IIOMetadata convertImageMetadata(IIOMetadata inData, ImageTypeSpecifier imageType,
- ImageWriteParam param);
-}
diff --git a/awt/javax/imageio/ImageTypeSpecifier.java b/awt/javax/imageio/ImageTypeSpecifier.java
deleted file mode 100644
index 505b1c4..0000000
--- a/awt/javax/imageio/ImageTypeSpecifier.java
+++ /dev/null
@@ -1,347 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/**
- * @author Rustem V. Rafikov
- * @version $Revision: 1.3 $
- */
-
-package javax.imageio;
-
-import java.awt.image.ColorModel;
-import java.awt.image.SampleModel;
-import java.awt.image.BufferedImage;
-import java.awt.image.RenderedImage;
-import java.awt.color.ColorSpace;
-
-/**
- * The ImageTypeSpecifier class performs conversion operations on the
- * SampleModel and the ColorModel of an image.
- *
- * @since Android 1.0
- */
-public class ImageTypeSpecifier {
-
- /**
- * The ColorModel of this ImageTypeSpecifier.
- */
- protected ColorModel colorModel;
-
- /**
- * The SampleModel of this ImageTypeSpecifier.
- */
- protected SampleModel sampleModel;
-
- /**
- * Instantiates a new ImageTypeSpecifier with the specified ColorModel and
- * SampleModel objects.
- *
- * @param colorModel
- * the ColorModel.
- * @param sampleModel
- * the SampleModel.
- */
- public ImageTypeSpecifier(ColorModel colorModel, SampleModel sampleModel) {
- if (colorModel == null) {
- throw new IllegalArgumentException("color model should not be NULL");
- }
- if (sampleModel == null) {
- throw new IllegalArgumentException("sample model should not be NULL");
- }
- if (!colorModel.isCompatibleSampleModel(sampleModel)) {
- throw new IllegalArgumentException("color and sample models are not compatible");
- }
-
- this.colorModel = colorModel;
- this.sampleModel = sampleModel;
- }
-
- /**
- * Instantiates a new ImageTypeSpecifier using the specified RenderedImage.
- *
- * @param renderedImage
- * the RenderedImage.
- */
- public ImageTypeSpecifier(RenderedImage renderedImage) {
- if (renderedImage == null) {
- throw new IllegalArgumentException("image should not be NULL");
- }
- this.colorModel = renderedImage.getColorModel();
- this.sampleModel = renderedImage.getSampleModel();
- }
-
- /**
- * Creates an ImageTypeSpecifier with the specified DirectColorModel and a
- * packed SampleModel.
- *
- * @param colorSpace
- * the ColorSpace.
- * @param redMask
- * the red mask.
- * @param greenMask
- * the green mask.
- * @param blueMask
- * the blue mask.
- * @param alphaMask
- * the alpha mask.
- * @param transferType
- * the transfer type.
- * @param isAlphaPremultiplied
- * the parameter indicates if the color channel is pre-multiplied
- * by alpha.
- * @return the ImageTypeSpecifier.
- */
- public static ImageTypeSpecifier createPacked(ColorSpace colorSpace, int redMask,
- int greenMask, int blueMask, int alphaMask, int transferType,
- boolean isAlphaPremultiplied) {
- throw new UnsupportedOperationException("Not supported yet");
- }
-
- /**
- * Creates an ImageTypeSpecifier with specified ComponentColorModel and a
- * PixelInterleavedSampleModel.
- *
- * @param colorSpace
- * the ColorSpace.
- * @param bandOffsets
- * the band offsets.
- * @param dataType
- * the data type.
- * @param hasAlpha
- * the parameter indicates if alpha channel is needed.
- * @param isAlphaPremultiplied
- * the parameter indicates if the color channel is pre-multiplied
- * by alpha.
- * @return the ImageTypeSpecifier.
- */
- public static ImageTypeSpecifier createInterleaved(ColorSpace colorSpace, int[] bandOffsets,
- int dataType, boolean hasAlpha, boolean isAlphaPremultiplied) {
- throw new UnsupportedOperationException("Not supported yet");
- }
-
- /**
- * Creates a ImageTypeSpecifier for a image with a BandedSampleModel and a
- * ComponentColorModel.
- *
- * @param colorSpace
- * the ColorSpace.
- * @param bankIndices
- * the bank indices.
- * @param bandOffsets
- * the band offsets.
- * @param dataType
- * the data type.
- * @param hasAlpha
- * the parameter indicates a presence of alpha channel.
- * @param isAlphaPremultiplied
- * the parameter indicates whether or not color channel is alpha
- * pre-multiplied.
- * @return the image type specifier
- */
- public static ImageTypeSpecifier createBanded(ColorSpace colorSpace, int[] bankIndices,
- int[] bandOffsets, int dataType, boolean hasAlpha, boolean isAlphaPremultiplied) {
- throw new UnsupportedOperationException("Not supported yet");
- }
-
- /**
- * Creates a ImageTypeSpecifier for a grayscale image.
- *
- * @param bits
- * the number of bits per gray value.
- * @param dataType
- * the data type.
- * @param isSigned
- * a signed flag.
- * @return the ImageTypeSpecifier.
- */
- public static ImageTypeSpecifier createGrayscale(int bits, int dataType, boolean isSigned) {
- throw new UnsupportedOperationException("Not supported yet");
- }
-
- /**
- * Creates a ImageTypeSpecifier for a grayscale image.
- *
- * @param bits
- * the number of bits per gray value.
- * @param dataType
- * the data type.
- * @param isSigned
- * a signed flag.
- * @param isAlphaPremultiplied
- * the parameter indicates if color channel is pre-multiplied by
- * alpha, or not.
- * @return the ImageTypeSpecifier.
- */
- public static ImageTypeSpecifier createGrayscale(int bits, int dataType, boolean isSigned,
- boolean isAlphaPremultiplied) {
- throw new UnsupportedOperationException("Not supported yet");
- }
-
- /**
- * Creates a ImageTypeSpecifier with the indexed image format.
- *
- * @param redLUT
- * the red values of indices.
- * @param greenLUT
- * the green values of indices.
- * @param blueLUT
- * the blue values of indices.
- * @param alphaLUT
- * the alpha values of indices.
- * @param bits
- * the bits number for each index.
- * @param dataType
- * the data type.
- * @return the ImageTypeSpecifier.
- */
- public static ImageTypeSpecifier createIndexed(byte[] redLUT, byte[] greenLUT, byte[] blueLUT,
- byte[] alphaLUT, int bits, int dataType) {
- throw new UnsupportedOperationException("Not supported yet");
- }
-
- /**
- * Creates the ImageTypeSpecifier from the specified buffered image type.
- *
- * @param bufferedImageType
- * the buffered image type.
- * @return the ImageTypeSpecifier.
- */
- public static ImageTypeSpecifier createFromBufferedImageType(int bufferedImageType) {
- throw new UnsupportedOperationException("Not supported yet");
- }
-
- /**
- * Creates the ImageTypeSpecifier from the specified RenderedImage.
- *
- * @param image
- * the RenderedImage.
- * @return the ImageTypeSpecifier.
- */
- public static ImageTypeSpecifier createFromRenderedImage(RenderedImage image) {
- if (null == image) {
- throw new IllegalArgumentException("image should not be NULL");
- }
- return new ImageTypeSpecifier(image);
- }
-
- /**
- * Gets the BufferedImage type.
- *
- * @return the BufferedImage type.
- */
- public int getBufferedImageType() {
- throw new UnsupportedOperationException("Not supported yet");
- }
-
- /**
- * Gets the number of components.
- *
- * @return the number of components.
- */
- public int getNumComponents() {
- return colorModel.getNumComponents();
- }
-
- /**
- * Gets the number of bands.
- *
- * @return the number of bands.
- */
- public int getNumBands() {
- return sampleModel.getNumBands();
- }
-
- /**
- * Gets the number of bits per the specified band.
- *
- * @param band
- * the index of band.
- * @return the number of bits per the specified band.
- */
- public int getBitsPerBand(int band) {
- if (band < 0 || band >= getNumBands()) {
- throw new IllegalArgumentException();
- }
- return sampleModel.getSampleSize(band);
- }
-
- /**
- * Gets the SampleModel associated with this ImageTypeSpecifier.
- *
- * @return the SampleModel associated with this ImageTypeSpecifier.
- */
- public SampleModel getSampleModel() {
- return sampleModel;
- }
-
- /**
- * Gets a compatible SampleModel with the specified width and height.
- *
- * @param width
- * the width.
- * @param height
- * the height.
- * @return the SampleModel.
- */
- public SampleModel getSampleModel(int width, int height) {
- if ((long)width * height > Integer.MAX_VALUE) {
- throw new IllegalArgumentException("width * height > Integer.MAX_VALUE");
- }
- return sampleModel.createCompatibleSampleModel(width, height);
- }
-
- /**
- * Gets the ColorModel associated with this ImageTypeSpecifier.
- *
- * @return the ColorModel associated with this ImageTypeSpecifier.
- */
- public ColorModel getColorModel() {
- return colorModel;
- }
-
- /**
- * Creates the BufferedImage with the specified width and height and the
- * ColorMadel and SampleModel which are specified by this
- * ImageTypeSpecifier.
- *
- * @param width
- * the width of the BufferedImage.
- * @param height
- * the height of the BufferedImage.
- * @return the BufferedImage.
- */
- public BufferedImage createBufferedImage(int width, int height) {
- throw new UnsupportedOperationException("Not supported yet");
- }
-
- /**
- * Compares this ImageTypeSpecifier object with the specified object.
- *
- * @param o
- * the Object to be compared.
- * @return true, if the object is an ImageTypeSpecifier with the same data
- * as this ImageTypeSpecifier, false otherwise.
- */
- @Override
- public boolean equals(Object o) {
- boolean rt = false;
- if (o instanceof ImageTypeSpecifier) {
- ImageTypeSpecifier ts = (ImageTypeSpecifier)o;
- rt = colorModel.equals(ts.colorModel) && sampleModel.equals(ts.sampleModel);
- }
- return rt;
- }
-} \ No newline at end of file
diff --git a/awt/javax/imageio/ImageWriteParam.java b/awt/javax/imageio/ImageWriteParam.java
deleted file mode 100644
index d661889..0000000
--- a/awt/javax/imageio/ImageWriteParam.java
+++ /dev/null
@@ -1,664 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/**
- * @author Rustem V. Rafikov
- * @version $Revision: 1.3 $
- */
-
-package javax.imageio;
-
-import java.util.Locale;
-import java.awt.*;
-
-/**
- * The ImageWriteParam class provides information to an ImageWriter about how an
- * image is to be encoded.
- *
- * @since Android 1.0
- */
-public class ImageWriteParam extends IIOParam {
-
- /**
- * The Constant MODE_DISABLED indicates that stream is not tiled,
- * progressive, or compressed.
- */
- public static final int MODE_DISABLED = 0;
-
- /**
- * The Constant MODE_DEFAULT indicates that the stream will be tiled,
- * progressive, or compressed according to the plug-in's default.
- */
- public static final int MODE_DEFAULT = 1;
-
- /**
- * The Constant MODE_EXPLICIT indicates that the stream will be tiled,
- * progressive, or compressed according to current settings which are
- * defined by set methods.
- */
- public static final int MODE_EXPLICIT = 2;
-
- /**
- * The Constant MODE_COPY_FROM_METADATA indicates that the stream will be
- * tiled, progressive, or compressed according to stream or image metadata.
- */
- public static final int MODE_COPY_FROM_METADATA = 3;
-
- /**
- * Whether the ImageWriter can write tiles.
- */
- protected boolean canWriteTiles = false;
-
- /**
- * The tiling mode.
- */
- protected int tilingMode = MODE_COPY_FROM_METADATA;
-
- /**
- * The preferred tile sizes.
- */
- protected Dimension[] preferredTileSizes = null;
-
- /**
- * The tiling set.
- */
- protected boolean tilingSet = false;
-
- /**
- * The tile width.
- */
- protected int tileWidth = 0;
-
- /**
- * The tile height.
- */
- protected int tileHeight = 0;
-
- /**
- * Whether the ImageWriter can offset tiles.
- */
- protected boolean canOffsetTiles = false;
-
- /**
- * The tile grid x offset.
- */
- protected int tileGridXOffset = 0;
-
- /**
- * The tile grid y offset.
- */
- protected int tileGridYOffset = 0;
-
- /**
- * Whether the ImageWriter can write in progressive mode.
- */
- protected boolean canWriteProgressive = false;
-
- /**
- * The progressive mode.
- */
- protected int progressiveMode = MODE_COPY_FROM_METADATA;
-
- /**
- * Whether the ImageWriter can write in compressed mode.
- */
- protected boolean canWriteCompressed = false;
-
- /**
- * The compression mode.
- */
- protected int compressionMode = MODE_COPY_FROM_METADATA;
-
- /**
- * The compression types.
- */
- protected String[] compressionTypes = null;
-
- /**
- * The compression type.
- */
- protected String compressionType = null;
-
- /**
- * The compression quality.
- */
- protected float compressionQuality = 1.0f;
-
- /**
- * The locale.
- */
- protected Locale locale = null;
-
- /**
- * Instantiates a new ImageWriteParam.
- */
- protected ImageWriteParam() {
- }
-
- /**
- * Instantiates a new ImageWriteParam with the specified Locale.
- *
- * @param locale
- * the Locale.
- */
- public ImageWriteParam(Locale locale) {
- this.locale = locale;
-
- }
-
- /**
- * Gets the mode for writing the stream in a progressive sequence.
- *
- * @return the current progressive mode.
- */
- public int getProgressiveMode() {
- if (canWriteProgressive()) {
- return progressiveMode;
- }
- throw new UnsupportedOperationException("progressive mode is not supported");
- }
-
- /**
- * Returns true if images can be written using increasing quality passes by
- * progressive.
- *
- * @return true if images can be written using increasing quality passes by
- * progressive, false otherwise.
- */
- public boolean canWriteProgressive() {
- return canWriteProgressive;
- }
-
- /**
- * Sets the progressive mode which defines whether the stream contains a
- * progressive sequence of increasing quality during writing. The
- * progressive mode should be one of the following values: MODE_DISABLED,
- * MODE_DEFAULT, or MODE_COPY_FROM_METADATA.
- *
- * @param mode
- * the new progressive mode.
- */
- public void setProgressiveMode(int mode) {
- if (canWriteProgressive()) {
- if (mode < MODE_DISABLED || mode > MODE_COPY_FROM_METADATA || mode == MODE_EXPLICIT) {
- throw new IllegalArgumentException("mode is not supported");
- }
- this.progressiveMode = mode;
- }
- throw new UnsupportedOperationException("progressive mode is not supported");
- }
-
- /**
- * Returns true if the writer can use tiles with non zero grid offsets while
- * writing.
- *
- * @return true, if the writer can use tiles with non zero grid offsets
- * while writing, false otherwise.
- */
- public boolean canOffsetTiles() {
- return canOffsetTiles;
- }
-
- /**
- * Returns true if this writer can write images with compression.
- *
- * @return true, if this writer can write images with compression, false
- * otherwise.
- */
- public boolean canWriteCompressed() {
- return canWriteCompressed;
- }
-
- /**
- * Returns true if the writer can write tiles.
- *
- * @return true, if the writer can write tiles, false otherwise.
- */
- public boolean canWriteTiles() {
- return canWriteTiles;
- }
-
- /**
- * Check write compressed.
- */
- private final void checkWriteCompressed() {
- if (!canWriteCompressed()) {
- throw new UnsupportedOperationException("Compression not supported.");
- }
- }
-
- /**
- * Check compression mode.
- */
- private final void checkCompressionMode() {
- if (getCompressionMode() != MODE_EXPLICIT) {
- throw new IllegalStateException("Compression mode not MODE_EXPLICIT!");
- }
- }
-
- /**
- * Check compression type.
- */
- private final void checkCompressionType() {
- if (getCompressionTypes() != null && getCompressionType() == null) {
- throw new IllegalStateException("No compression type set!");
- }
- }
-
- /**
- * Gets the compression mode.
- *
- * @return the compression mode if it's supported.
- */
- public int getCompressionMode() {
- checkWriteCompressed();
- return compressionMode;
- }
-
- /**
- * Gets the an array of supported compression types.
- *
- * @return the an array of supported compression types.
- */
- public String[] getCompressionTypes() {
- checkWriteCompressed();
- if (compressionTypes != null) {
- return compressionTypes.clone();
- }
- return null;
- }
-
- /**
- * Gets the current compression type, or returns null.
- *
- * @return the current compression type, or returns null if it is not set.
- */
- public String getCompressionType() {
- checkWriteCompressed();
- checkCompressionMode();
- return compressionType;
- }
-
- /**
- * Gets a bit rate which represents an estimate of the number of bits of
- * output data for each bit of input image data with the specified quality.
- *
- * @param quality
- * the quality.
- * @return an estimate of the bit rate, or -1.0F if there is no estimate.
- */
- public float getBitRate(float quality) {
- checkWriteCompressed();
- checkCompressionMode();
- checkCompressionType();
- if (quality < 0 || quality > 1) {
- throw new IllegalArgumentException("Quality out-of-bounds!");
- }
- return -1.0f;
- }
-
- /**
- * Gets the compression quality.
- *
- * @return the compression quality.
- */
- public float getCompressionQuality() {
- checkWriteCompressed();
- checkCompressionMode();
- checkCompressionType();
- return compressionQuality;
- }
-
- /**
- * Gets the array of compression quality descriptions.
- *
- * @return the string array of compression quality descriptions.
- */
- public String[] getCompressionQualityDescriptions() {
- checkWriteCompressed();
- checkCompressionMode();
- checkCompressionType();
- return null;
- }
-
- /**
- * Gets an array of floats which describes compression quality levels.
- *
- * @return the array of compression quality values.
- */
- public float[] getCompressionQualityValues() {
- checkWriteCompressed();
- checkCompressionMode();
- checkCompressionType();
- return null;
- }
-
- /**
- * Gets the locale of this ImageWriteParam.
- *
- * @return the locale of this ImageWriteParam.
- */
- public Locale getLocale() {
- return locale;
- }
-
- /**
- * Gets the current compression type using the current Locale.
- *
- * @return the current compression type using the current Locale.
- */
- public String getLocalizedCompressionTypeName() {
- checkWriteCompressed();
- checkCompressionMode();
-
- String compressionType = getCompressionType();
- if (compressionType == null) {
- throw new IllegalStateException("No compression type set!");
- }
- return compressionType;
-
- }
-
- /**
- * Check tiling.
- */
- private final void checkTiling() {
- if (!canWriteTiles()) {
- throw new UnsupportedOperationException("Tiling not supported!");
- }
- }
-
- /**
- * Check tiling mode.
- */
- private final void checkTilingMode() {
- if (getTilingMode() != MODE_EXPLICIT) {
- throw new IllegalStateException("Tiling mode not MODE_EXPLICIT!");
- }
- }
-
- /**
- * Check tiling params.
- */
- private final void checkTilingParams() {
- if (!tilingSet) {
- throw new IllegalStateException("Tiling parameters not set!");
- }
- }
-
- /**
- * Gets the tiling mode if tiling is supported.
- *
- * @return the tiling mode if tiling is supported.
- */
- public int getTilingMode() {
- checkTiling();
- return tilingMode;
- }
-
- /**
- * Gets an array of Dimensions giving the sizes of the tiles as they are
- * encoded in the output file or stream.
- *
- * @return the preferred tile sizes.
- */
- public Dimension[] getPreferredTileSizes() {
- checkTiling();
- if (preferredTileSizes == null) {
- return null;
- }
-
- Dimension[] retval = new Dimension[preferredTileSizes.length];
- for (int i = 0; i < preferredTileSizes.length; i++) {
- retval[i] = new Dimension(retval[i]);
- }
- return retval;
- }
-
- /**
- * Gets the tile grid X offset for encoding.
- *
- * @return the tile grid X offset for encoding.
- */
- public int getTileGridXOffset() {
- checkTiling();
- checkTilingMode();
- checkTilingParams();
- return tileGridXOffset;
- }
-
- /**
- * Gets the tile grid Y offset for encoding.
- *
- * @return the tile grid Y offset for encoding.
- */
- public int getTileGridYOffset() {
- checkTiling();
- checkTilingMode();
- checkTilingParams();
- return tileGridYOffset;
- }
-
- /**
- * Gets the tile height in an image as it is written to the output stream.
- *
- * @return the tile height in an image as it is written to the output
- * stream.
- */
- public int getTileHeight() {
- checkTiling();
- checkTilingMode();
- checkTilingParams();
- return tileHeight;
- }
-
- /**
- * Gets the tile width in an image as it is written to the output stream.
- *
- * @return the tile width in an image as it is written to the output stream.
- */
- public int getTileWidth() {
- checkTiling();
- checkTilingMode();
- checkTilingParams();
- return tileWidth;
- }
-
- /**
- * Checks if the current compression type has lossless compression or not.
- *
- * @return true, if the current compression type has lossless compression,
- * false otherwise.
- */
- public boolean isCompressionLossless() {
- checkWriteCompressed();
- checkCompressionMode();
- checkCompressionType();
- return true;
- }
-
- /**
- * Removes current compression type.
- */
- public void unsetCompression() {
- checkWriteCompressed();
- checkCompressionMode();
- compressionType = null;
- compressionQuality = 1;
- }
-
- /**
- * Sets the compression mode to the specified value. The specified mode can
- * be one of the predefined constants: MODE_DEFAULT, MODE_DISABLED,
- * MODE_EXPLICIT, or MODE_COPY_FROM_METADATA.
- *
- * @param mode
- * the new compression mode to be set.
- */
- public void setCompressionMode(int mode) {
- checkWriteCompressed();
- switch (mode) {
- case MODE_EXPLICIT: {
- compressionMode = mode;
- unsetCompression();
- break;
- }
- case MODE_COPY_FROM_METADATA:
- case MODE_DISABLED:
- case MODE_DEFAULT: {
- compressionMode = mode;
- break;
- }
- default: {
- throw new IllegalArgumentException("Illegal value for mode!");
- }
- }
- }
-
- /**
- * Sets the compression quality. The value should be between 0 and 1.
- *
- * @param quality
- * the new compression quality, float value between 0 and 1.
- */
- public void setCompressionQuality(float quality) {
- checkWriteCompressed();
- checkCompressionMode();
- checkCompressionType();
- if (quality < 0 || quality > 1) {
- throw new IllegalArgumentException("Quality out-of-bounds!");
- }
- compressionQuality = quality;
- }
-
- /**
- * Sets the compression type. The specified string should be one of the
- * values returned by getCompressionTypes method.
- *
- * @param compressionType
- * the new compression type.
- */
- public void setCompressionType(String compressionType) {
- checkWriteCompressed();
- checkCompressionMode();
-
- if (compressionType == null) { // Don't check anything
- this.compressionType = null;
- } else {
- String[] compressionTypes = getCompressionTypes();
- if (compressionTypes == null) {
- throw new UnsupportedOperationException("No settable compression types");
- }
-
- for (int i = 0; i < compressionTypes.length; i++) {
- if (compressionTypes[i].equals(compressionType)) {
- this.compressionType = compressionType;
- return;
- }
- }
-
- // Compression type is not in the list.
- throw new IllegalArgumentException("Unknown compression type!");
- }
- }
-
- /**
- * Sets the instruction that tiling should be performed for the image in the
- * output stream with the specified parameters.
- *
- * @param tileWidth
- * the tile's width.
- * @param tileHeight
- * the tile's height.
- * @param tileGridXOffset
- * the tile grid's x offset.
- * @param tileGridYOffset
- * the tile grid's y offset.
- */
- public void setTiling(int tileWidth, int tileHeight, int tileGridXOffset, int tileGridYOffset) {
- checkTiling();
- checkTilingMode();
-
- if (!canOffsetTiles() && (tileGridXOffset != 0 || tileGridYOffset != 0)) {
- throw new UnsupportedOperationException("Can't offset tiles!");
- }
-
- if (tileWidth <= 0 || tileHeight <= 0) {
- throw new IllegalArgumentException("tile dimensions are non-positive!");
- }
-
- Dimension preferredTileSizes[] = getPreferredTileSizes();
- if (preferredTileSizes != null) {
- for (int i = 0; i < preferredTileSizes.length; i += 2) {
- Dimension minSize = preferredTileSizes[i];
- Dimension maxSize = preferredTileSizes[i + 1];
- if (tileWidth < minSize.width || tileWidth > maxSize.width
- || tileHeight < minSize.height || tileHeight > maxSize.height) {
- throw new IllegalArgumentException("Illegal tile size!");
- }
- }
- }
-
- tilingSet = true;
- this.tileWidth = tileWidth;
- this.tileHeight = tileHeight;
- this.tileGridXOffset = tileGridXOffset;
- this.tileGridYOffset = tileGridYOffset;
- }
-
- /**
- * Clears all tiling settings.
- */
- public void unsetTiling() {
- checkTiling();
- checkTilingMode();
-
- tilingSet = false;
- tileWidth = 0;
- tileHeight = 0;
- tileGridXOffset = 0;
- tileGridYOffset = 0;
- }
-
- /**
- * Sets the tiling mode. The specified mode should be one of the following
- * values: MODE_DISABLED, MODE_DEFAULT, MODE_EXPLICIT, or
- * MODE_COPY_FROM_METADATA.
- *
- * @param mode
- * the new tiling mode.
- */
- public void setTilingMode(int mode) {
- checkTiling();
-
- switch (mode) {
- case MODE_EXPLICIT: {
- tilingMode = mode;
- unsetTiling();
- break;
- }
- case MODE_COPY_FROM_METADATA:
- case MODE_DISABLED:
- case MODE_DEFAULT: {
- tilingMode = mode;
- break;
- }
- default: {
- throw new IllegalArgumentException("Illegal value for mode!");
- }
- }
- }
-}
diff --git a/awt/javax/imageio/ImageWriter.java b/awt/javax/imageio/ImageWriter.java
deleted file mode 100644
index 86879e0..0000000
--- a/awt/javax/imageio/ImageWriter.java
+++ /dev/null
@@ -1,1001 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/**
- * @author Rustem V. Rafikov
- * @version $Revision: 1.3 $
- */
-
-package javax.imageio;
-
-import java.awt.Dimension;
-import java.awt.Rectangle;
-import java.awt.image.BufferedImage;
-import java.awt.image.Raster;
-import java.awt.image.RenderedImage;
-import java.io.IOException;
-import java.security.AccessController;
-import java.security.PrivilegedAction;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-import javax.imageio.event.IIOWriteProgressListener;
-import javax.imageio.event.IIOWriteWarningListener;
-import javax.imageio.metadata.IIOMetadata;
-import javax.imageio.spi.ImageWriterSpi;
-
-/**
- * The ImageWriter class is an abstract class for encoding images. ImageWriter
- * objects are instantiated by the service provider interface, ImageWriterSpi
- * class, for the specific format. ImageWriterSpi class should be registered
- * with the IIORegistry, which uses them for format recognition and presentation
- * of available format readers and writers.
- *
- * @since Android 1.0
- */
-public abstract class ImageWriter implements ImageTranscoder {
-
- /**
- * The available locales.
- */
- protected Locale[] availableLocales;
-
- /**
- * The locale.
- */
- protected Locale locale;
-
- /**
- * The originating provider.
- */
- protected ImageWriterSpi originatingProvider;
-
- /**
- * The output.
- */
- protected Object output;
-
- /**
- * The progress listeners.
- */
- protected List<IIOWriteProgressListener> progressListeners;
-
- /**
- * The warning listeners.
- */
- protected List<IIOWriteWarningListener> warningListeners;
-
- /**
- * The warning locales.
- */
- protected List<Locale> warningLocales;
-
- // Indicates that abort operation is requested
- // Abort mechanism should be thread-safe
- /** The aborted. */
- private boolean aborted;
-
- /**
- * Instantiates a new ImageWriter.
- *
- * @param originatingProvider
- * the ImageWriterSpi which instantiates this ImageWriter.
- */
- protected ImageWriter(ImageWriterSpi originatingProvider) {
- this.originatingProvider = originatingProvider;
- }
-
- public abstract IIOMetadata convertStreamMetadata(IIOMetadata iioMetadata,
- ImageWriteParam imageWriteParam);
-
- public abstract IIOMetadata convertImageMetadata(IIOMetadata iioMetadata,
- ImageTypeSpecifier imageTypeSpecifier, ImageWriteParam imageWriteParam);
-
- /**
- * Gets the ImageWriterSpi which instantiated this ImageWriter.
- *
- * @return the ImageWriterSpi.
- */
- public ImageWriterSpi getOriginatingProvider() {
- return originatingProvider;
- }
-
- /**
- * Processes the start of an image read by calling their imageStarted method
- * of registered IIOWriteProgressListeners.
- *
- * @param imageIndex
- * the image index.
- */
- protected void processImageStarted(int imageIndex) {
- if (null != progressListeners) {
- for (IIOWriteProgressListener listener : progressListeners) {
- listener.imageStarted(this, imageIndex);
- }
- }
- }
-
- /**
- * Processes the current percentage of image completion by calling
- * imageProgress method of registered IIOWriteProgressListener.
- *
- * @param percentageDone
- * the percentage done.
- */
- protected void processImageProgress(float percentageDone) {
- if (null != progressListeners) {
- for (IIOWriteProgressListener listener : progressListeners) {
- listener.imageProgress(this, percentageDone);
- }
- }
- }
-
- /**
- * Processes image completion by calling imageComplete method of registered
- * IIOWriteProgressListeners.
- */
- protected void processImageComplete() {
- if (null != progressListeners) {
- for (IIOWriteProgressListener listener : progressListeners) {
- listener.imageComplete(this);
- }
- }
- }
-
- /**
- * Processes a warning message by calling warningOccurred method of
- * registered IIOWriteWarningListeners.
- *
- * @param imageIndex
- * the image index.
- * @param warning
- * the warning.
- */
- protected void processWarningOccurred(int imageIndex, String warning) {
- if (null == warning) {
- throw new NullPointerException("warning message should not be NULL");
- }
- if (null != warningListeners) {
- for (IIOWriteWarningListener listener : warningListeners) {
- listener.warningOccurred(this, imageIndex, warning);
- }
- }
- }
-
- /**
- * Processes a warning message by calling warningOccurred method of
- * registered IIOWriteWarningListeners with string from ResourceBundle.
- *
- * @param imageIndex
- * the image index.
- * @param bundle
- * the name of ResourceBundle.
- * @param key
- * the keyword.
- */
- protected void processWarningOccurred(int imageIndex, String bundle, String key) {
- if (warningListeners != null) { // Don't check the parameters
- return;
- }
-
- if (bundle == null) {
- throw new IllegalArgumentException("baseName == null!");
- }
- if (key == null) {
- throw new IllegalArgumentException("keyword == null!");
- }
-
- // Get the context class loader and try to locate the bundle with it
- // first
- ClassLoader contextClassloader = AccessController
- .doPrivileged(new PrivilegedAction<ClassLoader>() {
- public ClassLoader run() {
- return Thread.currentThread().getContextClassLoader();
- }
- });
-
- // Iterate through both listeners and locales
- int n = warningListeners.size();
- for (int i = 0; i < n; i++) {
- IIOWriteWarningListener listener = warningListeners.get(i);
- Locale locale = warningLocales.get(i);
-
- // Now try to get the resource bundle
- ResourceBundle rb;
- try {
- rb = ResourceBundle.getBundle(bundle, locale, contextClassloader);
- } catch (MissingResourceException e) {
- try {
- rb = ResourceBundle.getBundle(bundle, locale);
- } catch (MissingResourceException e1) {
- throw new IllegalArgumentException("Bundle not found!");
- }
- }
-
- try {
- String warning = rb.getString(key);
- listener.warningOccurred(this, imageIndex, warning);
- } catch (MissingResourceException e) {
- throw new IllegalArgumentException("Resource is missing!");
- } catch (ClassCastException e) {
- throw new IllegalArgumentException("Resource is not a String!");
- }
- }
- }
-
- /**
- * Sets the specified Object to the output of this ImageWriter.
- *
- * @param output
- * the Object which represents destination, it can be
- * ImageOutputStream or other objects.
- */
- public void setOutput(Object output) {
- if (output != null) {
- ImageWriterSpi spi = getOriginatingProvider();
- if (null != spi) {
- Class[] outTypes = spi.getOutputTypes();
- boolean supported = false;
- for (Class<?> element : outTypes) {
- if (element.isInstance(output)) {
- supported = true;
- break;
- }
- }
- if (!supported) {
- throw new IllegalArgumentException("output " + output + " is not supported");
- }
- }
- }
- this.output = output;
- }
-
- /**
- * Writes a completed image stream that contains the specified image,
- * default metadata, and thumbnails to the output.
- *
- * @param image
- * the specified image to be written.
- * @throws IOException
- * if an I/O exception has occurred during writing.
- */
- public void write(IIOImage image) throws IOException {
- write(null, image, null);
- }
-
- /**
- * Writes a completed image stream that contains the specified rendered
- * image, default metadata, and thumbnails to the output.
- *
- * @param image
- * the specified RenderedImage to be written.
- * @throws IOException
- * if an I/O exception has occurred during writing.
- */
- public void write(RenderedImage image) throws IOException {
- write(null, new IIOImage(image, null, null), null);
- }
-
- /**
- * Writes a completed image stream that contains the specified image,
- * metadata and thumbnails to the output.
- *
- * @param streamMetadata
- * the stream metadata, or null.
- * @param image
- * the specified image to be written, if canWriteRaster() method
- * returns false, then Image must contain only RenderedImage.
- * @param param
- * the ImageWriteParam, or null.
- * @throws IOException
- * if an error occurs during writing.
- */
- public abstract void write(IIOMetadata streamMetadata, IIOImage image, ImageWriteParam param)
- throws IOException;
-
- /**
- * Disposes of any resources.
- */
- public void dispose() {
- // def impl. does nothing according to the spec.
- }
-
- /**
- * Requests an abort operation for current writing operation.
- */
- public synchronized void abort() {
- aborted = true;
- }
-
- /**
- * Checks whether or not a request to abort the current write operation has
- * been made successfully.
- *
- * @return true, if the request to abort the current write operation has
- * been made successfully, false otherwise.
- */
- protected synchronized boolean abortRequested() {
- return aborted;
- }
-
- /**
- * Clears all previous abort request, and abortRequested returns false after
- * calling this method.
- */
- protected synchronized void clearAbortRequest() {
- aborted = false;
- }
-
- /**
- * Adds the IIOWriteProgressListener listener.
- *
- * @param listener
- * the IIOWriteProgressListener listener.
- */
- public void addIIOWriteProgressListener(IIOWriteProgressListener listener) {
- if (listener == null) {
- return;
- }
-
- if (progressListeners == null) {
- progressListeners = new ArrayList<IIOWriteProgressListener>();
- }
-
- progressListeners.add(listener);
- }
-
- /**
- * Adds the IIOWriteWarningListener.
- *
- * @param listener
- * the IIOWriteWarningListener listener.
- */
- public void addIIOWriteWarningListener(IIOWriteWarningListener listener) {
- if (listener == null) {
- return;
- }
-
- if (warningListeners == null) {
- warningListeners = new ArrayList<IIOWriteWarningListener>();
- warningLocales = new ArrayList<Locale>();
- }
-
- warningListeners.add(listener);
- warningLocales.add(getLocale());
- }
-
- /**
- * Gets the output object that was set by setOutput method.
- *
- * @return the output object such as ImageOutputStream, or null if it is not
- * set.
- */
- public Object getOutput() {
- return output;
- }
-
- /**
- * Check output return false.
- *
- * @return true, if successful.
- */
- private final boolean checkOutputReturnFalse() {
- if (getOutput() == null) {
- throw new IllegalStateException("getOutput() == null!");
- }
- return false;
- }
-
- /**
- * Unsupported operation.
- */
- private final void unsupportedOperation() {
- if (getOutput() == null) {
- throw new IllegalStateException("getOutput() == null!");
- }
- throw new UnsupportedOperationException("Unsupported write variant!");
- }
-
- /**
- * Returns true if a new empty image can be inserted at the specified index.
- *
- * @param imageIndex
- * the specified index of image.
- * @return true if a new empty image can be inserted at the specified index,
- * false otherwise.
- * @throws IOException
- * Signals that an I/O exception has occurred.
- */
- public boolean canInsertEmpty(int imageIndex) throws IOException {
- return checkOutputReturnFalse();
- }
-
- /**
- * Returns true if a new image can be inserted at the specified index.
- *
- * @param imageIndex
- * the specified index of image.
- * @return true if a new image can be inserted at the specified index, false
- * otherwise.
- * @throws IOException
- * Signals that an I/O exception has occurred.
- */
- public boolean canInsertImage(int imageIndex) throws IOException {
- return checkOutputReturnFalse();
- }
-
- /**
- * Returns true if the image with the specified index can be removed.
- *
- * @param imageIndex
- * the specified index of image.
- * @return true if the image with the specified index can be removed, false
- * otherwise.
- * @throws IOException
- * Signals that an I/O exception has occurred.
- */
- public boolean canRemoveImage(int imageIndex) throws IOException {
- return checkOutputReturnFalse();
- }
-
- /**
- * Returns true if metadata of the image with the specified index can be
- * replaced.
- *
- * @param imageIndex
- * the specified image index.
- * @return true if metadata of the image with the specified index can be
- * replaced, false otherwise.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public boolean canReplaceImageMetadata(int imageIndex) throws IOException {
- return checkOutputReturnFalse();
- }
-
- /**
- * Returns true if pixels of the image with the specified index can be
- * replaced by the replacePixels methods.
- *
- * @param imageIndex
- * the image's index.
- * @return true if pixels of the image with the specified index can be
- * replaced by the replacePixels methods, false otherwise.
- * @throws IOException
- * Signals that an I/O exception has occurred.
- */
- public boolean canReplacePixels(int imageIndex) throws IOException {
- return checkOutputReturnFalse();
- }
-
- /**
- * Returns true if the stream metadata presented in the output can be
- * removed.
- *
- * @return true if the stream metadata presented in the output can be
- * removed, false otherwise.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public boolean canReplaceStreamMetadata() throws IOException {
- return checkOutputReturnFalse();
- }
-
- /**
- * Returns true if the writing of a complete image stream which contains a
- * single image is supported with undefined pixel values and associated
- * metadata and thumbnails to the output.
- *
- * @return true if the writing of a complete image stream which contains a
- * single image is supported, false otherwise.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public boolean canWriteEmpty() throws IOException {
- return checkOutputReturnFalse();
- }
-
- /**
- * Returns true if the methods which taken an IIOImageParameter can deal
- * with a Raster source image.
- *
- * @return true if the methods which taken an IIOImageParameter can deal
- * with a Raster source image, false otherwise.
- */
- public boolean canWriteRasters() {
- return false;
- }
-
- /**
- * Returns true if the writer can add an image to stream that already
- * contains header information.
- *
- * @return if the writer can add an image to stream that already contains
- * header information, false otherwise.
- */
- public boolean canWriteSequence() {
- return false;
- }
-
- /**
- * Ends the insertion of a new image.
- *
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public void endInsertEmpty() throws IOException {
- unsupportedOperation();
- }
-
- /**
- * Ends the replace pixels operation.
- *
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public void endReplacePixels() throws IOException {
- unsupportedOperation();
- }
-
- /**
- * Ends an empty write operation.
- *
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public void endWriteEmpty() throws IOException {
- unsupportedOperation();
- }
-
- /**
- * Ends the sequence of write operations.
- *
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public void endWriteSequence() throws IOException {
- unsupportedOperation();
- }
-
- /**
- * Gets an array of available locales.
- *
- * @return an of array available locales.
- */
- public Locale[] getAvailableLocales() {
- if (availableLocales == null) {
- return null;
- }
-
- return availableLocales.clone();
- }
-
- /**
- * Gets an IIOMetadata object that contains default values for encoding an
- * image with the specified type.
- *
- * @param imageType
- * the ImageTypeSpecifier.
- * @param param
- * the ImageWriteParam.
- * @return the IIOMetadata object.
- */
- public abstract IIOMetadata getDefaultImageMetadata(ImageTypeSpecifier imageType,
- ImageWriteParam param);
-
- /**
- * Gets an IIOMetadata object that contains default values for encoding a
- * stream of images.
- *
- * @param param
- * the ImageWriteParam.
- * @return the IIOMetadata object.
- */
- public abstract IIOMetadata getDefaultStreamMetadata(ImageWriteParam param);
-
- /**
- * Gets the current locale of this ImageWriter.
- *
- * @return the current locale of this ImageWriter.
- */
- public Locale getLocale() {
- return locale;
- }
-
- /**
- * Gets the default write param. Gets a new ImageWriteParam object for this
- * ImageWriter with the current Locale.
- *
- * @return a new ImageWriteParam object for this ImageWriter.
- */
- public ImageWriteParam getDefaultWriteParam() {
- return new ImageWriteParam(getLocale());
- }
-
- /**
- * Gets the number of thumbnails supported by the format being written with
- * supported image type, image write parameters, stream, and image metadata
- * objects.
- *
- * @param imageType
- * the ImageTypeSpecifier.
- * @param param
- * the image's parameters.
- * @param streamMetadata
- * the stream metadata.
- * @param imageMetadata
- * the image metadata.
- * @return the number of thumbnails supported.
- */
- public int getNumThumbnailsSupported(ImageTypeSpecifier imageType, ImageWriteParam param,
- IIOMetadata streamMetadata, IIOMetadata imageMetadata) {
- return 0;
- }
-
- /**
- * Gets the preferred thumbnail sizes. Gets an array of Dimensions with the
- * sizes for thumbnail images as they are encoded in the output file or
- * stream.
- *
- * @param imageType
- * the ImageTypeSpecifier.
- * @param param
- * the ImageWriteParam.
- * @param streamMetadata
- * the stream metadata.
- * @param imageMetadata
- * the image metadata.
- * @return the preferred thumbnail sizes.
- */
- public Dimension[] getPreferredThumbnailSizes(ImageTypeSpecifier imageType,
- ImageWriteParam param, IIOMetadata streamMetadata, IIOMetadata imageMetadata) {
- return null;
- }
-
- /**
- * Prepares insertion of an empty image by requesting the insertion of a new
- * image into an existing image stream.
- *
- * @param imageIndex
- * the image index.
- * @param imageType
- * the image type.
- * @param width
- * the width of the image.
- * @param height
- * the height of the image.
- * @param imageMetadata
- * the image metadata, or null.
- * @param thumbnails
- * the array thumbnails for this image, or null.
- * @param param
- * the ImageWriteParam, or null.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public void prepareInsertEmpty(int imageIndex, ImageTypeSpecifier imageType, int width,
- int height, IIOMetadata imageMetadata, List<? extends BufferedImage> thumbnails,
- ImageWriteParam param) throws IOException {
- unsupportedOperation();
- }
-
- /**
- * Prepares the writer to call the replacePixels method for the specified
- * region.
- *
- * @param imageIndex
- * the image's index.
- * @param region
- * the specified region.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public void prepareReplacePixels(int imageIndex, Rectangle region) throws IOException {
- unsupportedOperation();
- }
-
- /**
- * Prepares the writer for writing an empty image by beginning the process
- * of writing a complete image stream that contains a single image with
- * undefined pixel values, metadata and thumbnails, to the output.
- *
- * @param streamMetadata
- * the stream metadata.
- * @param imageType
- * the image type.
- * @param width
- * the width of the image.
- * @param height
- * the height of the image.
- * @param imageMetadata
- * the image's metadata, or null.
- * @param thumbnails
- * the image's thumbnails, or null.
- * @param param
- * the image's parameters, or null.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public void prepareWriteEmpty(IIOMetadata streamMetadata, ImageTypeSpecifier imageType,
- int width, int height, IIOMetadata imageMetadata,
- List<? extends BufferedImage> thumbnails, ImageWriteParam param) throws IOException {
- unsupportedOperation();
- }
-
- /**
- * Prepares a stream to accept calls of writeToSequence method using the
- * metadata object.
- *
- * @param streamMetadata
- * the stream metadata.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public void prepareWriteSequence(IIOMetadata streamMetadata) throws IOException {
- unsupportedOperation();
- }
-
- /**
- * Processes the completion of a thumbnail read by calling their
- * thumbnailComplete method of registered IIOWriteProgressListeners.
- */
- protected void processThumbnailComplete() {
- if (progressListeners != null) {
- for (IIOWriteProgressListener listener : progressListeners) {
- listener.thumbnailComplete(this);
- }
- }
- }
-
- /**
- * Processes the current percentage of thumbnail completion by calling their
- * thumbnailProgress method of registered IIOWriteProgressListeners.
- *
- * @param percentageDone
- * the percentage done.
- */
- protected void processThumbnailProgress(float percentageDone) {
- if (progressListeners != null) {
- for (IIOWriteProgressListener listener : progressListeners) {
- listener.thumbnailProgress(this, percentageDone);
- }
- }
- }
-
- /**
- * Processes the start of a thumbnail read by calling thumbnailStarted
- * method of registered IIOWriteProgressListeners.
- *
- * @param imageIndex
- * the image index.
- * @param thumbnailIndex
- * the thumbnail index.
- */
- protected void processThumbnailStarted(int imageIndex, int thumbnailIndex) {
- if (progressListeners != null) {
- for (IIOWriteProgressListener listener : progressListeners) {
- listener.thumbnailStarted(this, imageIndex, thumbnailIndex);
- }
- }
- }
-
- /**
- * Processes that the writing has been aborted by calling writeAborted
- * method of registered IIOWriteProgressListeners.
- */
- protected void processWriteAborted() {
- if (progressListeners != null) {
- for (IIOWriteProgressListener listener : progressListeners) {
- listener.writeAborted(this);
- }
- }
- }
-
- /**
- * Removes the all IIOWriteProgressListener listeners.
- */
- public void removeAllIIOWriteProgressListeners() {
- progressListeners = null;
- }
-
- /**
- * Removes the all IIOWriteWarningListener listeners.
- */
- public void removeAllIIOWriteWarningListeners() {
- warningListeners = null;
- warningLocales = null;
- }
-
- /**
- * Removes the specified IIOWriteProgressListener listener.
- *
- * @param listener
- * the registered IIOWriteProgressListener to be removed.
- */
- public void removeIIOWriteProgressListener(IIOWriteProgressListener listener) {
- if (progressListeners != null && listener != null) {
- if (progressListeners.remove(listener) && progressListeners.isEmpty()) {
- progressListeners = null;
- }
- }
- }
-
- /**
- * Removes the specified IIOWriteWarningListener listener.
- *
- * @param listener
- * the registered IIOWriteWarningListener listener to be removed.
- */
- public void removeIIOWriteWarningListener(IIOWriteWarningListener listener) {
- if (warningListeners == null || listener == null) {
- return;
- }
-
- int idx = warningListeners.indexOf(listener);
- if (idx > -1) {
- warningListeners.remove(idx);
- warningLocales.remove(idx);
-
- if (warningListeners.isEmpty()) {
- warningListeners = null;
- warningLocales = null;
- }
- }
- }
-
- /**
- * Removes the image with the specified index from the stream.
- *
- * @param imageIndex
- * the image's index.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public void removeImage(int imageIndex) throws IOException {
- unsupportedOperation();
- }
-
- /**
- * Replaces image metadata of the image with specified index.
- *
- * @param imageIndex
- * the image's index.
- * @param imageMetadata
- * the image metadata.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public void replaceImageMetadata(int imageIndex, IIOMetadata imageMetadata) throws IOException {
- unsupportedOperation();
- }
-
- /**
- * Replaces a part of an image presented in the output with the specified
- * RenderedImage.
- *
- * @param image
- * the RenderedImage.
- * @param param
- * the ImageWriteParam.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public void replacePixels(RenderedImage image, ImageWriteParam param) throws IOException {
- unsupportedOperation();
- }
-
- /**
- * Replaces a part of an image presented in the output with the specified
- * Raster.
- *
- * @param raster
- * the Raster.
- * @param param
- * the ImageWriteParam.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public void replacePixels(Raster raster, ImageWriteParam param) throws IOException {
- unsupportedOperation();
- }
-
- /**
- * Replaces the stream metadata of the output with new IIOMetadata.
- *
- * @param streamMetadata
- * the new stream metadata.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public void replaceStreamMetadata(IIOMetadata streamMetadata) throws IOException {
- unsupportedOperation();
- }
-
- /**
- * Sets the locale of this ImageWriter.
- *
- * @param locale
- * the new locale.
- */
- public void setLocale(Locale locale) {
- if (locale == null) {
- this.locale = null;
- return;
- }
-
- Locale[] locales = getAvailableLocales();
- boolean validLocale = false;
- if (locales != null) {
- for (int i = 0; i < locales.length; i++) {
- if (locale.equals(locales[i])) {
- validLocale = true;
- break;
- }
- }
- }
-
- if (validLocale) {
- this.locale = locale;
- } else {
- throw new IllegalArgumentException("Invalid locale!");
- }
- }
-
- /**
- * Resets this ImageWriter.
- */
- public void reset() {
- setOutput(null);
- setLocale(null);
- removeAllIIOWriteWarningListeners();
- removeAllIIOWriteProgressListeners();
- clearAbortRequest();
- }
-
- /**
- * Inserts image into existing output stream.
- *
- * @param imageIndex
- * the image index where an image will be written.
- * @param image
- * the specified image to be written.
- * @param param
- * the ImageWriteParam, or null.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public void writeInsert(int imageIndex, IIOImage image, ImageWriteParam param)
- throws IOException {
- unsupportedOperation();
- }
-
- /**
- * Writes the specified image to the sequence.
- *
- * @param image
- * the image to be written.
- * @param param
- * the ImageWriteParam, or null.
- * @throws IOException
- * if an I/O exception has occurred during writing.
- */
- public void writeToSequence(IIOImage image, ImageWriteParam param) throws IOException {
- unsupportedOperation();
- }
-}
diff --git a/awt/javax/imageio/event/IIOReadProgressListener.java b/awt/javax/imageio/event/IIOReadProgressListener.java
deleted file mode 100644
index 2944896..0000000
--- a/awt/javax/imageio/event/IIOReadProgressListener.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/**
- * @author Sergey I. Salishev
- * @version $Revision: 1.2 $
- */
-
-package javax.imageio.event;
-
-import java.util.EventListener;
-import javax.imageio.ImageReader;
-
-/**
- * The IIOReadProgressListener interface notifies callers about the progress of
- * the image and thumbnail reading methods.
- *
- * @since Android 1.0
- */
-public interface IIOReadProgressListener extends EventListener {
-
- /**
- * Notifies this listener that the image reading has been completed.
- *
- * @param source
- * the ImageReader object which calls this method.
- */
- void imageComplete(ImageReader source);
-
- /**
- * Notifies this listener about the degree of completion of the read call.
- *
- * @param source
- * the ImageReader object which calls this method.
- * @param percentageDone
- * the percentage of decoding done.
- */
- void imageProgress(ImageReader source, float percentageDone);
-
- /**
- * Notifies this listener that an image read operation has been started.
- *
- * @param source
- * the ImageReader object which calls this method.
- * @param imageIndex
- * the index of the image in an input file or stream to be read.
- */
- void imageStarted(ImageReader source, int imageIndex);
-
- /**
- * Notifies this listener that a read operation has been aborted.
- *
- * @param source
- * the ImageReader object which calls this method.
- */
- void readAborted(ImageReader source);
-
- /**
- * Notifies this listener that a sequence of read operations has been
- * completed.
- *
- * @param source
- * the ImageReader object which calls this method.
- */
- void sequenceComplete(ImageReader source);
-
- /**
- * Notifies this listener that a sequence of read operation has been
- * started.
- *
- * @param source
- * the ImageReader object which calls this method.
- * @param minIndex
- * the index of the first image to be read.
- */
- void sequenceStarted(ImageReader source, int minIndex);
-
- /**
- * Notifies that a thumbnail read operation has been completed.
- *
- * @param source
- * the ImageReader object which calls this method.
- */
- void thumbnailComplete(ImageReader source);
-
- /**
- * Notifies this listener about the degree of completion of the read call.
- *
- * @param source
- * the ImageReader object which calls this method.
- * @param percentageDone
- * the percentage of decoding done.
- */
- void thumbnailProgress(ImageReader source, float percentageDone);
-
- /**
- * Notifies this listener that a thumbnail reading operation has been
- * started.
- *
- * @param source
- * the ImageReader object which calls this method.
- * @param imageIndex
- * the index of the image in an input file or stream to be read.
- * @param thumbnailIndex
- * the index of the thumbnail to be read.
- */
- void thumbnailStarted(ImageReader source, int imageIndex, int thumbnailIndex);
-}
diff --git a/awt/javax/imageio/event/IIOReadUpdateListener.java b/awt/javax/imageio/event/IIOReadUpdateListener.java
deleted file mode 100644
index 49bdbcb..0000000
--- a/awt/javax/imageio/event/IIOReadUpdateListener.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/**
- * @author Sergey I. Salishev
- * @version $Revision: 1.2 $
- */
-
-package javax.imageio.event;
-
-import java.awt.image.BufferedImage;
-import java.util.EventListener;
-import javax.imageio.ImageReader;
-
-/*
- * @author Sergey I. Salishev
- * @version $Revision: 1.2 $
- */
-
-/**
- * The IIOReadUpdateListener interface provides functionality to receive
- * notification of pixel updates during image and thumbnail reading operations.
- *
- * @since Android 1.0
- */
-public interface IIOReadUpdateListener extends EventListener {
-
- /**
- * Notifies this listener that the specified area of the image has been
- * updated.
- *
- * @param source
- * the ImageReader object which calls this method.
- * @param theImage
- * the image to be updated.
- * @param minX
- * the minimum X coordinate of the pixels in the updated area.
- * @param minY
- * the minimum Y coordinate of the pixels in the updated area.
- * @param width
- * the width of updated area.
- * @param height
- * the height of updated area.
- * @param periodX
- * the horizontal spacing period between updated pixels, if it
- * equals 1, there is no space between pixels.
- * @param periodY
- * the vertical spacing period between updated pixels, if it
- * equals 1, there is no space between pixels.
- * @param bands
- * the array of integer values indicating the bands being
- * updated.
- */
- void imageUpdate(ImageReader source, BufferedImage theImage, int minX, int minY, int width,
- int height, int periodX, int periodY, int[] bands);
-
- /**
- * Notifies this listener that the current read operation has completed a
- * progressive pass.
- *
- * @param source
- * the ImageReader object which calls this method.
- * @param theImage
- * the image to be updated.
- */
- void passComplete(ImageReader source, BufferedImage theImage);
-
- /**
- * Notifies this listener that the current read operation has begun a
- * progressive pass.
- *
- * @param source
- * the ImageReader object which calls this method.
- * @param theImage
- * the image to be updated.
- * @param pass
- * the number of the pass.
- * @param minPass
- * the index of the first pass that will be decoded.
- * @param maxPass
- * the index of the last pass that will be decoded.
- * @param minX
- * the minimum X coordinate of the pixels in the updated area.
- * @param minY
- * the minimum Y coordinate of the pixels in the updated area.
- * @param periodX
- * the horizontal spacing period between updated pixels, if it
- * equals 1, there is no space between pixels.
- * @param periodY
- * the vertical spacing period between updated pixels, if it
- * equals 1, there is no space between pixels.
- * @param bands
- * the array of integer values indicating the bands being
- * updated.
- */
- void passStarted(ImageReader source, BufferedImage theImage, int pass, int minPass,
- int maxPass, int minX, int minY, int periodX, int periodY, int[] bands);
-
- /**
- * Notifies this listener that the current thumbnail read operation has
- * completed a progressive pass.
- *
- * @param source
- * the ImageReader object which calls this method.
- * @param theImage
- * the thumbnail to be updated.
- */
- void thumbnailPassComplete(ImageReader source, BufferedImage theImage);
-
- /**
- * Notifies this listener that the current thumbnail read operation has
- * begun a progressive pass.
- *
- * @param source
- * the ImageReader object which calls this method.
- * @param theThumbnail
- * the thumbnail to be updated.
- * @param pass
- * the number of the pass.
- * @param minPass
- * the index of the first pass that will be decoded.
- * @param maxPass
- * the index of the last pass that will be decoded.
- * @param minX
- * the minimum X coordinate of the pixels in the updated area.
- * @param minY
- * the minimum Y coordinate of the pixels in the updated area.
- * @param periodX
- * the horizontal spacing period between updated pixels, if it
- * equals 1, there is no space between pixels.
- * @param periodY
- * the vertical spacing period between updated pixels, if it
- * equals 1, there is no space between pixels.
- * @param bands
- * the array of integer values indicating the bands being
- * updated.
- */
- void thumbnailPassStarted(ImageReader source, BufferedImage theThumbnail, int pass,
- int minPass, int maxPass, int minX, int minY, int periodX, int periodY, int[] bands);
-
- /**
- * Notifies this listener that a specified area of a thumbnail image has
- * been updated.
- *
- * @param source
- * the ImageReader object which calls this method.
- * @param theThumbnail
- * the thumbnail to be updated.
- * @param minX
- * the minimum X coordinate of the pixels in the updated area.
- * @param minY
- * the minimum Y coordinate of the pixels in the updated area.
- * @param width
- * the width of updated area.
- * @param height
- * the height of updated area.
- * @param periodX
- * the horizontal spacing period between updated pixels, if it
- * equals 1, there is no space between pixels.
- * @param periodY
- * the vertical spacing period between updated pixels, if it
- * equals 1, there is no space between pixels.
- * @param bands
- * the array of integer values indicating the bands being
- * updated.
- */
- void thumbnailUpdate(ImageReader source, BufferedImage theThumbnail, int minX, int minY,
- int width, int height, int periodX, int periodY, int[] bands);
-}
diff --git a/awt/javax/imageio/event/IIOReadWarningListener.java b/awt/javax/imageio/event/IIOReadWarningListener.java
deleted file mode 100644
index 318a5df..0000000
--- a/awt/javax/imageio/event/IIOReadWarningListener.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/**
- * @author Sergey I. Salishev
- * @version $Revision: 1.2 $
- */
-
-package javax.imageio.event;
-
-import java.util.EventListener;
-import javax.imageio.ImageReader;
-
-/*
- * @author Sergey I. Salishev
- * @version $Revision: 1.2 $
- */
-
-/**
- * The IIOReadWarningListener provides methods to receive notification of
- * warning messages generated by image and thumbnail reading methods.
- *
- * @since Android 1.0
- */
-public interface IIOReadWarningListener extends EventListener {
-
- /**
- * Notifies this listener about a warning (non-fatal error) during decoding.
- *
- * @param source
- * the ImageReader object which calls this method.
- * @param warning
- * the string describing the warning.
- */
- public void warningOccurred(ImageReader source, String warning);
-}
diff --git a/awt/javax/imageio/event/IIOWriteProgressListener.java b/awt/javax/imageio/event/IIOWriteProgressListener.java
deleted file mode 100644
index 4a2c595..0000000
--- a/awt/javax/imageio/event/IIOWriteProgressListener.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/**
- * @author Rustem V. Rafikov
- * @version $Revision: 1.3 $
- */
-
-package javax.imageio.event;
-
-import javax.imageio.ImageWriter;
-import java.util.EventListener;
-
-/**
- * The IIOWriteProgressListener interface provides methods to receive
- * notification about the progress of the image and thumbnail writing methods.
- *
- * @since Android 1.0
- */
-public interface IIOWriteProgressListener extends EventListener {
-
- /**
- * Notifies this listener that an image write operation has been started.
- *
- * @param source
- * the ImageWriter object which calls this method.
- * @param imageIndex
- * the index of the image being written.
- */
- void imageStarted(ImageWriter source, int imageIndex);
-
- /**
- * Notifies this listener about the degree of completion of the write call.
- *
- * @param source
- * the ImageWriter object which calls this method.
- * @param percentageDone
- * the percentage of encoding done.
- */
- void imageProgress(ImageWriter source, float percentageDone);
-
- /**
- * Notifies this listener that the image writing has been completed.
- *
- * @param source
- * the ImageWriter object which calls this method.
- */
- void imageComplete(ImageWriter source);
-
- /**
- * Notifies this listener that a thumbnail write operation has been started.
- *
- * @param source
- * the ImageWriter object which calls this method.
- * @param imageIndex
- * the index of the image being written.
- * @param thumbnailIndex
- * the index of the thumbnail being written.
- */
- void thumbnailStarted(ImageWriter source, int imageIndex, int thumbnailIndex);
-
- /**
- * Notifies this listener about the degree of completion of the write call.
- *
- * @param source
- * the ImageWriter object which calls this method.
- * @param percentageDone
- * the percentage of encoding done.
- */
- void thumbnailProgress(ImageWriter source, float percentageDone);
-
- /**
- * Notifies this listener that a thumbnail write operation has been
- * completed.
- *
- * @param source
- * the ImageWriter object which calls this method.
- */
- void thumbnailComplete(ImageWriter source);
-
- /**
- * Notifies this listener that writing operation has been aborted.
- *
- * @param source
- * the ImageWriter object which calls this method.
- */
- void writeAborted(ImageWriter source);
-}
diff --git a/awt/javax/imageio/event/IIOWriteWarningListener.java b/awt/javax/imageio/event/IIOWriteWarningListener.java
deleted file mode 100644
index 8ee41cd..0000000
--- a/awt/javax/imageio/event/IIOWriteWarningListener.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/**
- * @author Rustem V. Rafikov
- * @version $Revision: 1.3 $
- */
-
-package javax.imageio.event;
-
-import javax.imageio.ImageWriter;
-import java.util.EventListener;
-
-/**
- * The IIOWriteWarningListener provides methods to receive notification of
- * warnings generated by image and thumbnail writing methods.
- *
- * @since Android 1.0
- */
-public interface IIOWriteWarningListener extends EventListener {
-
- /**
- * Notifies this listener about a warning (non-fatal error) during encoding.
- *
- * @param source
- * the ImageWriter object which calls this method.
- * @param imageIndex
- * the index of the image generating the warning.
- * @param warning
- * the string describing the warning.
- */
- void warningOccurred(ImageWriter source, int imageIndex, String warning);
-}
diff --git a/awt/javax/imageio/event/package.html b/awt/javax/imageio/event/package.html
deleted file mode 100644
index c2fe39f..0000000
--- a/awt/javax/imageio/event/package.html
+++ /dev/null
@@ -1,8 +0,0 @@
-<html>
- <body>
- <p>
- This package provides interfaces to handle events which can be fired during the reading or writing of images.
- </p>
- @since Android 1.0
- </body>
-</html>
diff --git a/awt/javax/imageio/metadata/IIOInvalidTreeException.java b/awt/javax/imageio/metadata/IIOInvalidTreeException.java
deleted file mode 100644
index ba90657..0000000
--- a/awt/javax/imageio/metadata/IIOInvalidTreeException.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package javax.imageio.metadata;
-
-import org.w3c.dom.Node;
-import javax.imageio.IIOException;
-
-/**
- * The IIOInvalidTreeException provides notification about fails of
- * IIOMetadataNodes tree parsing by IIOMetadata object.
- *
- * @since Android 1.0
- */
-public class IIOInvalidTreeException extends IIOException {
-
- /**
- * The offending node.
- */
- protected Node offendingNode = null;
-
- /**
- * Instantiates an IIOInvalidTreeException with the specified detailed
- * message and specified offending Node.
- *
- * @param message
- * the detailed message.
- * @param offendingNode
- * the offending node.
- */
- public IIOInvalidTreeException(String message, Node offendingNode) {
- super(message);
- this.offendingNode = offendingNode;
- }
-
- /**
- * Instantiates a new IIOInvalidTreeException with the specified detailed
- * message and specified offending Node.
- *
- * @param message
- * the detailed message.
- * @param cause
- * the cause of this exception.
- * @param offendingNode
- * the offending node.
- */
- public IIOInvalidTreeException(String message, Throwable cause, Node offendingNode) {
- super(message, cause);
- this.offendingNode = offendingNode;
- }
-
- /**
- * Gets the offending node.
- *
- * @return the offending node.
- */
- public Node getOffendingNode() {
- return offendingNode;
- }
-}
diff --git a/awt/javax/imageio/metadata/IIOMetadata.java b/awt/javax/imageio/metadata/IIOMetadata.java
deleted file mode 100644
index 96cebf9..0000000
--- a/awt/javax/imageio/metadata/IIOMetadata.java
+++ /dev/null
@@ -1,391 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package javax.imageio.metadata;
-
-import java.util.ArrayList;
-
-import org.apache.harmony.x.imageio.metadata.IIOMetadataUtils;
-import org.w3c.dom.Node;
-
-/**
- * The class IIOMetadata represents the metadata (bundled with an image) as a
- * Dom-type tree.
- *
- * @since Android 1.0
- */
-public abstract class IIOMetadata {
-
- /**
- * Whether the standard metadata format is supported.
- */
- protected boolean standardFormatSupported;
-
- /**
- * The native metadata format name.
- */
- protected String nativeMetadataFormatName;
-
- /**
- * The native metadata format class name.
- */
- protected String nativeMetadataFormatClassName;
-
- /**
- * The extra metadata format names.
- */
- protected String[] extraMetadataFormatNames;
-
- /**
- * The extra metadata format class names.
- */
- protected String[] extraMetadataFormatClassNames;
-
- /**
- * The default controller.
- */
- protected IIOMetadataController defaultController;
-
- /**
- * The controller.
- */
- protected IIOMetadataController controller;
-
- /**
- * Instantiates a new IIOMetadata with no data set.
- */
- protected IIOMetadata() {
- }
-
- /**
- * Instantiates a new IIOMetadata with the specified data parameters.
- *
- * @param standardMetadataFormatSupported
- * whether the standard metadata format is supported.
- * @param nativeMetadataFormatName
- * the native metadata format name.
- * @param nativeMetadataFormatClassName
- * the native metadata format class name.
- * @param extraMetadataFormatNames
- * the extra metadata format names.
- * @param extraMetadataFormatClassNames
- * the extra metadata format class names.
- */
- protected IIOMetadata(boolean standardMetadataFormatSupported, String nativeMetadataFormatName,
- String nativeMetadataFormatClassName, String[] extraMetadataFormatNames,
- String[] extraMetadataFormatClassNames) {
- standardFormatSupported = standardMetadataFormatSupported;
- this.nativeMetadataFormatName = nativeMetadataFormatName;
- this.nativeMetadataFormatClassName = nativeMetadataFormatClassName;
- if (extraMetadataFormatNames == null) {
- if (extraMetadataFormatClassNames != null) {
- throw new IllegalArgumentException(
- "extraMetadataFormatNames == null && extraMetadataFormatClassNames != null!");
- }
- } else {
- if (extraMetadataFormatClassNames == null) {
- throw new IllegalArgumentException(
- "extraMetadataFormatNames != null && extraMetadataFormatClassNames == null!");
- }
- if (extraMetadataFormatNames.length == 0) {
- throw new IllegalArgumentException("extraMetadataFormatNames.length == 0!");
- }
- if (extraMetadataFormatClassNames.length != extraMetadataFormatNames.length) {
- throw new IllegalArgumentException(
- "extraMetadataFormatClassNames.length != extraMetadataFormatNames.length!");
- }
- this.extraMetadataFormatNames = extraMetadataFormatNames.clone();
- this.extraMetadataFormatClassNames = extraMetadataFormatClassNames.clone();
- }
- }
-
- /**
- * Gets the metadata as tree-type document.
- *
- * @param formatName
- * the format name.
- * @return the node in tree format.
- */
- public abstract Node getAsTree(String formatName);
-
- /**
- * Checks if the metadata is read only.
- *
- * @return true, if the metadata is read only.
- */
- public abstract boolean isReadOnly();
-
- /**
- * Merges the specified tree with this metadata tree.
- *
- * @param formatName
- * the format of the specified tree.
- * @param root
- * the root node of the metadata tree.
- * @throws IIOInvalidTreeException
- * if the specified tree is incompatible with the this metadata
- * tree.
- */
- public abstract void mergeTree(String formatName, Node root) throws IIOInvalidTreeException;
-
- /**
- * Resets the controller.
- */
- public abstract void reset();
-
- /**
- * Gets the controller associated with this metadata document.
- *
- * @return the controller.
- */
- public IIOMetadataController getController() {
- return controller;
- }
-
- /**
- * Checks whether this metadata has a controller.
- *
- * @return true, if this metadata has a controller.
- */
- public boolean hasController() {
- return getController() != null;
- }
-
- /**
- * Activate the controller.
- *
- * @return true, if successful.
- */
- public boolean activateController() {
- if (!hasController()) {
- throw new IllegalStateException("hasController() == false!");
- }
- return getController().activate(this);
- }
-
- /**
- * Gets the default controller.
- *
- * @return the default controller.
- */
- public IIOMetadataController getDefaultController() {
- return defaultController;
- }
-
- /**
- * Gets the extra metadata format names.
- *
- * @return the extra metadata format names.
- */
- public String[] getExtraMetadataFormatNames() {
- return extraMetadataFormatNames == null ? null : extraMetadataFormatNames.clone();
- }
-
- /**
- * Gets the metadata format.
- *
- * @param formatName
- * the format name.
- * @return the metadata format.
- */
- public IIOMetadataFormat getMetadataFormat(String formatName) {
- return IIOMetadataUtils.instantiateMetadataFormat(formatName, standardFormatSupported,
- nativeMetadataFormatName, nativeMetadataFormatClassName, extraMetadataFormatNames,
- extraMetadataFormatClassNames);
- }
-
- /**
- * Gets the native metadata format name.
- *
- * @return the native metadata format name.
- */
- public String getNativeMetadataFormatName() {
- return nativeMetadataFormatName;
- }
-
- /**
- * Checks if the standard metadata format is supported.
- *
- * @return true, if the standard metadata format is supported.
- */
- public boolean isStandardMetadataFormatSupported() {
- return standardFormatSupported;
- }
-
- /**
- * Gets the metadata format names.
- *
- * @return the metadata format names.
- */
- public String[] getMetadataFormatNames() {
- ArrayList<String> res = new ArrayList<String>();
-
- String nativeMetadataFormatName = getNativeMetadataFormatName();
- boolean standardFormatSupported = isStandardMetadataFormatSupported();
- String extraMetadataFormatNames[] = getExtraMetadataFormatNames();
-
- if (standardFormatSupported) {
- res.add(IIOMetadataFormatImpl.standardMetadataFormatName);
- }
- if (nativeMetadataFormatName != null) {
- res.add(nativeMetadataFormatName);
- }
- if (extraMetadataFormatNames != null) {
- for (String extraMetadataFormatName : extraMetadataFormatNames) {
- res.add(extraMetadataFormatName);
- }
- }
-
- return res.size() > 0 ? res.toArray(new String[0]) : null;
- }
-
- /**
- * Gets the standard chroma node.
- *
- * @return the standard chroma node.
- */
- protected IIOMetadataNode getStandardChromaNode() {
- return null;
- }
-
- /**
- * Gets the standard compression node.
- *
- * @return the standard compression node.
- */
- protected IIOMetadataNode getStandardCompressionNode() {
- return null;
- }
-
- /**
- * Gets the standard data node.
- *
- * @return the standard data node.
- */
- protected IIOMetadataNode getStandardDataNode() {
- return null;
- }
-
- /**
- * Gets the standard dimension node.
- *
- * @return the standard dimension node.
- */
- protected IIOMetadataNode getStandardDimensionNode() {
- return null;
- }
-
- /**
- * Gets the standard document node.
- *
- * @return the standard document node.
- */
- protected IIOMetadataNode getStandardDocumentNode() {
- return null;
- }
-
- /**
- * Gets the standard text node.
- *
- * @return the standard text node.
- */
- protected IIOMetadataNode getStandardTextNode() {
- return null;
- }
-
- /**
- * Gets the standard tile node.
- *
- * @return the standard tile node.
- */
- protected IIOMetadataNode getStandardTileNode() {
- return null;
- }
-
- /**
- * Gets the standard transparency node.
- *
- * @return the standard transparency node.
- */
- protected IIOMetadataNode getStandardTransparencyNode() {
- return null;
- }
-
- /**
- * Gets the metadata as a tree in standard format.
- *
- * @return the metadata as a tree in standard format.
- */
- protected final IIOMetadataNode getStandardTree() {
- // Create root node
- IIOMetadataNode root = new IIOMetadataNode(IIOMetadataFormatImpl.standardMetadataFormatName);
-
- Node node;
- if ((node = getStandardChromaNode()) != null) {
- root.appendChild(node);
- }
- if ((node = getStandardCompressionNode()) != null) {
- root.appendChild(node);
- }
- if ((node = getStandardDataNode()) != null) {
- root.appendChild(node);
- }
- if ((node = getStandardDimensionNode()) != null) {
- root.appendChild(node);
- }
- if ((node = getStandardDocumentNode()) != null) {
- root.appendChild(node);
- }
- if ((node = getStandardTextNode()) != null) {
- root.appendChild(node);
- }
- if ((node = getStandardTileNode()) != null) {
- root.appendChild(node);
- }
- if ((node = getStandardTransparencyNode()) != null) {
- root.appendChild(node);
- }
-
- return root;
- }
-
- /**
- * Sets the controller.
- *
- * @param controller
- * the new controller.
- */
- public void setController(IIOMetadataController controller) {
- this.controller = controller;
- }
-
- /**
- * Sets the from tree.
- *
- * @param formatName
- * the name of the metatdata format of the from tree.
- * @param root
- * the root node of the from tree.
- * @throws IIOInvalidTreeException
- * if the tree or its format is not compatible with this
- * metadata.
- */
- public void setFromTree(String formatName, Node root) throws IIOInvalidTreeException {
- reset();
- mergeTree(formatName, root);
- }
-}
diff --git a/awt/javax/imageio/metadata/IIOMetadataController.java b/awt/javax/imageio/metadata/IIOMetadataController.java
deleted file mode 100644
index 1405948..0000000
--- a/awt/javax/imageio/metadata/IIOMetadataController.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/**
- * @author Sergey I. Salishev
- * @version $Revision: 1.2 $
- */
-
-package javax.imageio.metadata;
-
-/*
- * @author Sergey I. Salishev
- * @version $Revision: 1.2 $
- */
-
-/**
- * The IIOMetadataController interface provides a method for implementing
- * objects to activate the controller without defining how the controller
- * obtains values.
- *
- * @since Android 1.0
- */
-public interface IIOMetadataController {
-
- /**
- * Activates a controller.
- *
- * @param metadata
- * the metadata to be modified.
- * @return true, if the IIOMetadata has been modified, false otherwise.
- */
- public boolean activate(IIOMetadata metadata);
-}
diff --git a/awt/javax/imageio/metadata/IIOMetadataFormat.java b/awt/javax/imageio/metadata/IIOMetadataFormat.java
deleted file mode 100644
index 0e7e697..0000000
--- a/awt/javax/imageio/metadata/IIOMetadataFormat.java
+++ /dev/null
@@ -1,404 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package javax.imageio.metadata;
-
-import javax.imageio.ImageTypeSpecifier;
-import java.util.Locale;
-
-/**
- * The Interface IIOMetadataFormat is implemented by classes that describe the
- * rules and allowed elements for a metadata document tree.
- *
- * @since Android 1.0
- */
-public interface IIOMetadataFormat {
-
- /**
- * The CHILD_POLICY_EMPTY.
- */
- int CHILD_POLICY_EMPTY = 0;
-
- /**
- * The CHILD_POLICY_ALL.
- */
- int CHILD_POLICY_ALL = 1;
-
- /**
- * The CHILD_POLICY_SOME.
- */
- int CHILD_POLICY_SOME = 2;
-
- /**
- * The CHILD_POLICY_CHOICE.
- */
- int CHILD_POLICY_CHOICE = 3;
-
- /**
- * The CHILD_POLICY_SEQUENCE.
- */
- int CHILD_POLICY_SEQUENCE = 4;
-
- /**
- * The CHILD_POLICY_REPEAT.
- */
- int CHILD_POLICY_REPEAT = 5;
-
- /**
- * The maximum value for the child policy.
- */
- int CHILD_POLICY_MAX = CHILD_POLICY_REPEAT;
-
- /**
- * The DATATYPE_STRING.
- */
- int DATATYPE_STRING = 0;
-
- /**
- * The DATATYPE_BOOLEAN.
- */
- int DATATYPE_BOOLEAN = 1;
-
- /**
- * The DATATYPE_INTEGER.
- */
- int DATATYPE_INTEGER = 2;
-
- /**
- * The DATATYPE_FLOAT.
- */
- int DATATYPE_FLOAT = 3;
-
- /**
- * The DATATYPE_DOUBLE.
- */
- int DATATYPE_DOUBLE = 4;
-
- /**
- * The VALUE_NONE.
- */
- int VALUE_NONE = 0;
-
- /**
- * The VALUE_ARBITRARY.
- */
- int VALUE_ARBITRARY = 1;
-
- /**
- * The VALUE_RANGE.
- */
- int VALUE_RANGE = 2;
-
- /**
- * The VALUE_RANGE_MIN_INCLUSIVE_MASK.
- */
- int VALUE_RANGE_MIN_INCLUSIVE_MASK = 4;
-
- /**
- * The VALUE_RANGE_MAX_INCLUSIVE_MASK.
- */
- int VALUE_RANGE_MAX_INCLUSIVE_MASK = 8;
-
- /**
- * The VALUE_ENUMERATION.
- */
- int VALUE_ENUMERATION = 16;
-
- /**
- * The VALUE_LIST.
- */
- int VALUE_LIST = 32;
-
- /**
- * The VALUE_RANGE_MIN_INCLUSIVE.
- */
- int VALUE_RANGE_MIN_INCLUSIVE = VALUE_RANGE | VALUE_RANGE_MIN_INCLUSIVE_MASK;
-
- /**
- * The VALUE_RANGE_MAX_INCLUSIVE.
- */
- int VALUE_RANGE_MAX_INCLUSIVE = VALUE_RANGE | VALUE_RANGE_MAX_INCLUSIVE_MASK;
-
- /**
- * The VALUE_RANGE_MIN_MAX_INCLUSIVE.
- */
- int VALUE_RANGE_MIN_MAX_INCLUSIVE = VALUE_RANGE | VALUE_RANGE_MIN_INCLUSIVE_MASK
- | VALUE_RANGE_MAX_INCLUSIVE_MASK;
-
- /**
- * Tells whether the specified element is allowed for the specified image
- * type.
- *
- * @param elementName
- * the element name.
- * @param imageType
- * the image type.
- * @return true, if the specified element is allowed for the specified image
- * type.
- */
- boolean canNodeAppear(String elementName, ImageTypeSpecifier imageType);
-
- /**
- * Gets data type of the specified attribute of the specified element.
- *
- * @param elementName
- * the element name.
- * @param attrName
- * the attribute name.
- * @return the attribute's data type.
- */
- int getAttributeDataType(String elementName, String attrName);
-
- /**
- * Gets the default value of the specified attribute of the specified
- * element.
- *
- * @param elementName
- * the element name.
- * @param attrName
- * the attribute name.
- * @return the attribute's default value.
- */
- String getAttributeDefaultValue(String elementName, String attrName);
-
- /**
- * Gets the user-friendly description of the attribute.
- *
- * @param elementName
- * the element name.
- * @param attrName
- * the attribute name.
- * @param locale
- * the locale giving the desired language for the description.
- * @return the attribute description.
- */
- String getAttributeDescription(String elementName, String attrName, Locale locale);
-
- /**
- * Gets the attribute enumerations.
- *
- * @param elementName
- * the element name.
- * @param attrName
- * the attribute name.
- * @return the attribute enumerations.
- */
- String[] getAttributeEnumerations(String elementName, String attrName);
-
- /**
- * Gets the maximum length of the attribute list.
- *
- * @param elementName
- * the element name.
- * @param attrName
- * the attribute name.
- * @return the maximum length of the attribute list.
- */
- int getAttributeListMaxLength(String elementName, String attrName);
-
- /**
- * Gets the minimum length of the attribute list.
- *
- * @param elementName
- * the element name.
- * @param attrName
- * the attribute name.
- * @return the minimum length of the attribute list.
- */
- int getAttributeListMinLength(String elementName, String attrName);
-
- /**
- * Gets the maximum value allowed for the attribute.
- *
- * @param elementName
- * the element name.
- * @param attrName
- * the attribute name.
- * @return the maximum value allowed for the attribute.
- */
- String getAttributeMaxValue(String elementName, String attrName);
-
- /**
- * Gets the minimum value allowed for the attribute.
- *
- * @param elementName
- * the element name.
- * @param attrName
- * the attribute name.
- * @return the minimum value allowed for the attribute.
- */
- String getAttributeMinValue(String elementName, String attrName);
-
- /**
- * Gets the attribute names allowed for the specified element.
- *
- * @param elementName
- * the element name.
- * @return the attribute names.
- */
- String[] getAttributeNames(String elementName);
-
- /**
- * Gets the attribute value type.
- *
- * @param elementName
- * the element name.
- * @param attrName
- * the attribute name.
- * @return the attribute value type.
- */
- int getAttributeValueType(String elementName, String attrName);
-
- /**
- * Checks whether the specified attribute is required for the specified
- * element.
- *
- * @param elementName
- * the element name.
- * @param attrName
- * the attribute name.
- * @return true, if the specified attribute is required for the specified
- * element.
- */
- boolean isAttributeRequired(String elementName, String attrName);
-
- /**
- * Gets the names of the possible child elements for the given element.
- *
- * @param elementName
- * the element name.
- * @return the child names.
- */
- String[] getChildNames(String elementName);
-
- /**
- * Gets the constant describing the element's child policy.
- *
- * @param elementName
- * the element name.
- * @return the child policy.
- */
- int getChildPolicy(String elementName);
-
- /**
- * Gets the user-friendly description of the element.
- *
- * @param elementName
- * the element name.
- * @param locale
- * the locale giving the desired language for the description.
- * @return the element description.
- */
- String getElementDescription(String elementName, Locale locale);
-
- /**
- * Gets the maximum number of children allowed for the element.
- *
- * @param elementName
- * the element name.
- * @return the maximum number of children allowed for the element.
- */
- int getElementMaxChildren(String elementName);
-
- /**
- * Gets the minimum number of children allowed for the element.
- *
- * @param elementName
- * the element name.
- * @return the minimum number of children allowed for the element.
- */
- int getElementMinChildren(String elementName);
-
- /**
- * Gets the maximum object array length allowed for the element.
- *
- * @param elementName
- * the element name.
- * @return the maximum object array length allowed for the element.
- */
- int getObjectArrayMaxLength(String elementName);
-
- /**
- * Gets the minimum object array length allowed for the element.
- *
- * @param elementName
- * the element name.
- * @return the minimum object array length allowed for the element.
- */
- int getObjectArrayMinLength(String elementName);
-
- /**
- * Gets the object class corresponding to the specified element.
- *
- * @param elementName
- * the element name.
- * @return the object class corresponding to the specified element.
- */
- Class<?> getObjectClass(String elementName);
-
- /**
- * Gets the object default value for the element.
- *
- * @param elementName
- * the element name.
- * @return the object default value for the element.
- */
- Object getObjectDefaultValue(String elementName);
-
- /**
- * Gets the object enumerations.
- *
- * @param elementName
- * the element name.
- * @return the object enumerations.
- */
- Object[] getObjectEnumerations(String elementName);
-
- /**
- * Gets the maximum value allowed for the element's object.
- *
- * @param elementName
- * the element name.
- * @return the maximum value allowed for the element's object.
- */
- Comparable<?> getObjectMaxValue(String elementName);
-
- /**
- * Gets the minimum value allowed for the element's object.
- *
- * @param elementName
- * the element name.
- * @return the minimum value allowed for the element's object.
- */
- Comparable<?> getObjectMinValue(String elementName);
-
- /**
- * Gets the constant that indicates the type of the element's value.
- *
- * @param elementName
- * the element name.
- * @return the constant that indicates the type of the element's value.
- */
- int getObjectValueType(String elementName);
-
- /**
- * Gets the name of the root element.
- *
- * @return the name of the root element.
- */
- String getRootName();
-}
diff --git a/awt/javax/imageio/metadata/IIOMetadataFormatImpl.java b/awt/javax/imageio/metadata/IIOMetadataFormatImpl.java
deleted file mode 100644
index 1a6e568..0000000
--- a/awt/javax/imageio/metadata/IIOMetadataFormatImpl.java
+++ /dev/null
@@ -1,1056 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package javax.imageio.metadata;
-
-import javax.imageio.ImageTypeSpecifier;
-import java.util.*;
-import java.security.AccessController;
-import java.security.PrivilegedAction;
-
-/**
- * The IIOMetadataFormatImpl class provides an implementation of the
- * IIOMetadataFormat interface.
- *
- * @since Android 1.0
- */
-public abstract class IIOMetadataFormatImpl implements IIOMetadataFormat {
-
- /**
- * The Constant standardMetadataFormatName.
- */
- @SuppressWarnings( {
- "ConstantDeclaredInAbstractClass"
- })
- public static final String standardMetadataFormatName = "javax_imageio_1.0";
-
- /**
- * The standard format.
- */
- @SuppressWarnings( {
- "StaticNonFinalField"
- })
- private static IIOMetadataFormatImpl standardFormat;
-
- /**
- * The root name.
- */
- private String rootName;
-
- /**
- * The element hash.
- */
- private HashMap<String, Element> elementHash = new HashMap<String, Element>();
-
- /**
- * The resource base name.
- */
- private String resourceBaseName = getClass().getName() + "Resources";
-
- /**
- * Instantiates an IIOMetadataFormatImpl with the specified root name and
- * child policy (not CHILD_POLICY_REPEAT).
- *
- * @param rootName
- * the name of root element.
- * @param childPolicy
- * the child policy defined by one of the CHILD_POLICY_*
- * constants (except CHILD_POLICY_REPEAT).
- */
- public IIOMetadataFormatImpl(String rootName, int childPolicy) {
- if (rootName == null) {
- throw new IllegalArgumentException("rootName is null");
- }
- if (childPolicy < CHILD_POLICY_EMPTY || childPolicy > CHILD_POLICY_MAX
- || childPolicy == CHILD_POLICY_REPEAT) {
- throw new IllegalArgumentException("childPolicy is not one of the predefined constants");
- }
-
- this.rootName = rootName;
- Element root = new Element();
- root.name = rootName;
- root.childPolicy = childPolicy;
- elementHash.put(rootName, root);
- }
-
- /**
- * Instantiates an IIOMetadataFormatImpl with the specified root name and
- * CHILD_POLICY_REPEAT child policy.
- *
- * @param rootName
- * the name of root element.
- * @param minChildren
- * the minimum number of children.
- * @param maxChildren
- * the maximum number of children
- */
- public IIOMetadataFormatImpl(String rootName, int minChildren, int maxChildren) {
- if (rootName == null) {
- throw new IllegalArgumentException("rootName is null");
- }
- if (minChildren < 0) {
- throw new IllegalArgumentException("minChildren < 0!");
- }
- if (minChildren > maxChildren) {
- throw new IllegalArgumentException("minChildren > maxChildren!");
- }
-
- this.rootName = rootName;
- Element root = new Element();
- root.name = rootName;
- root.minChildren = minChildren;
- root.maxChildren = maxChildren;
- root.childPolicy = CHILD_POLICY_REPEAT;
- elementHash.put(rootName, root);
- }
-
- @SuppressWarnings( {
- "AbstractMethodOverridesAbstractMethod"
- })
- public abstract boolean canNodeAppear(String elementName, ImageTypeSpecifier imageType);
-
- /**
- * Adds a new attribute to an existing element.
- *
- * @param elementName
- * the name of the element to which the new attribute will be
- * added.
- * @param attrName
- * the attribute name.
- * @param dataType
- * the data type of the new attribute.
- * @param required
- * the flag which indicates whether this attribute must be
- * present.
- * @param listMinLength
- * the minimum legal number of list items.
- * @param listMaxLength
- * the the maximum legal number of list items.
- */
- protected void addAttribute(String elementName, String attrName, int dataType,
- boolean required, int listMinLength, int listMaxLength) {
- if (attrName == null) {
- throw new IllegalArgumentException("attrName == null!");
- }
- if (dataType < DATATYPE_STRING || dataType > DATATYPE_DOUBLE) {
- throw new IllegalArgumentException("Invalid value for dataType!");
- }
- if (listMinLength < 0 || listMinLength > listMaxLength) {
- throw new IllegalArgumentException("Invalid list bounds!");
- }
-
- Element element = findElement(elementName);
- Attlist attr = new Attlist();
- attr.name = attrName;
- attr.dataType = dataType;
- attr.required = required;
- attr.listMinLength = listMinLength;
- attr.listMaxLength = listMaxLength;
- attr.valueType = VALUE_LIST;
-
- element.attributes.put(attrName, attr);
- }
-
- /**
- * Adds a new attribute to an existing element.
- *
- * @param elementName
- * the name of the element to which the new attribute will be
- * added.
- * @param attrName
- * the attribute name.
- * @param dataType
- * the data type of the new attribute.
- * @param required
- * the flag which indicates whether this attribute must be
- * present.
- * @param defaultValue
- * the default value of the attribute.
- */
- protected void addAttribute(String elementName, String attrName, int dataType,
- boolean required, String defaultValue) {
- if (attrName == null) {
- throw new IllegalArgumentException("attrName == null!");
- }
- if (dataType < DATATYPE_STRING || dataType > DATATYPE_DOUBLE) {
- throw new IllegalArgumentException("Invalid value for dataType!");
- }
-
- Element element = findElement(elementName);
- Attlist attr = new Attlist();
- attr.name = attrName;
- attr.dataType = dataType;
- attr.required = required;
- attr.defaultValue = defaultValue;
- attr.valueType = VALUE_ARBITRARY;
-
- element.attributes.put(attrName, attr);
- }
-
- /**
- * Adds a new attribute to an existing element.
- *
- * @param elementName
- * the name of the element to which the new attribute will be
- * added.
- * @param attrName
- * the attribute name.
- * @param dataType
- * the data type of the new attribute.
- * @param required
- * the flag which indicates whether this attribute must be
- * present.
- * @param defaultValue
- * the default value of the attribute.
- * @param enumeratedValues
- * the legal values for the attribute as a list of strings.
- */
- protected void addAttribute(String elementName, String attrName, int dataType,
- boolean required, String defaultValue, List<String> enumeratedValues) {
- if (attrName == null) {
- throw new IllegalArgumentException("attrName == null!");
- }
- if (dataType < DATATYPE_STRING || dataType > DATATYPE_DOUBLE) {
- throw new IllegalArgumentException("Invalid value for dataType!");
- }
- if (enumeratedValues == null || enumeratedValues.isEmpty()) {
- throw new IllegalArgumentException("enumeratedValues is empty or null");
- }
-
- try {
- for (String enumeratedValue : enumeratedValues) {
- if (enumeratedValue == null) {
- throw new IllegalArgumentException("enumeratedValues contains a null!");
- }
- }
- } catch (ClassCastException e) {
- throw new IllegalArgumentException("enumeratedValues contains a non-String value!");
- }
-
- Element element = findElement(elementName);
- Attlist attr = new Attlist();
- attr.name = attrName;
- attr.dataType = dataType;
- attr.required = required;
- attr.defaultValue = defaultValue;
- attr.enumeratedValues = enumeratedValues;
- attr.valueType = VALUE_ENUMERATION;
-
- element.attributes.put(attrName, attr);
- }
-
- /**
- * Adds a new attribute to an existing element.
- *
- * @param elementName
- * the name of the element to which the new attribute will be
- * added.
- * @param attrName
- * the attribute name.
- * @param dataType
- * the data type of the new attribute.
- * @param required
- * the flag which indicates whether this attribute must be
- * present.
- * @param defaultValue
- * the default value of attribute.
- * @param minValue
- * the minimum legal value of an attribute.
- * @param maxValue
- * the maximum legal value of an attribute.
- * @param minInclusive
- * the flag which indicates whether the minValue is inclusive.
- * @param maxInclusive
- * the flag which indicates whether the maxValue is inclusive.
- */
- protected void addAttribute(String elementName, String attrName, int dataType,
- boolean required, String defaultValue, String minValue, String maxValue,
- boolean minInclusive, boolean maxInclusive) {
- if (attrName == null) {
- throw new IllegalArgumentException("attrName == null!");
- }
- if (dataType < DATATYPE_STRING || dataType > DATATYPE_DOUBLE) {
- throw new IllegalArgumentException("Invalid value for dataType!");
- }
-
- Element element = findElement(elementName);
- Attlist attr = new Attlist();
- attr.name = attrName;
- attr.dataType = dataType;
- attr.required = required;
- attr.defaultValue = defaultValue;
- attr.minValue = minValue;
- attr.maxValue = maxValue;
- attr.minInclusive = minInclusive;
- attr.maxInclusive = maxInclusive;
-
- attr.valueType = VALUE_RANGE;
- attr.valueType |= minInclusive ? VALUE_RANGE_MIN_INCLUSIVE_MASK : 0;
- attr.valueType |= maxInclusive ? VALUE_RANGE_MAX_INCLUSIVE_MASK : 0;
-
- element.attributes.put(attrName, attr);
- }
-
- /**
- * Adds a new attribute with boolean data type to an existing element.
- *
- * @param elementName
- * the name of the element to which the new attribute will be
- * added.
- * @param attrName
- * the attribute name.
- * @param hasDefaultValue
- * the flag which indicates whether this attribute must have a
- * default value.
- * @param defaultValue
- * the default value.
- */
- protected void addBooleanAttribute(String elementName, String attrName,
- boolean hasDefaultValue, boolean defaultValue) {
- String defaultVal = hasDefaultValue ? (defaultValue ? "TRUE" : "FALSE") : null;
- ArrayList<String> values = new ArrayList<String>(2);
- values.add("TRUE");
- values.add("FALSE");
-
- addAttribute(elementName, attrName, DATATYPE_BOOLEAN, true, defaultVal, values);
- }
-
- /**
- * Adds an existing element to the list of child elements of the specified
- * parent element.
- *
- * @param elementName
- * the name of the element to be added.
- * @param parentName
- * the parent element name.
- */
- protected void addChildElement(String elementName, String parentName) {
- Element parent = findElement(parentName);
- Element element = findElement(elementName);
- parent.children.add(element.name);
- }
-
- /**
- * Adds a new element type to this IIOMetadataFormat with a child policy (if
- * policy is not CHILD_POLICY_REPEAT).
- *
- * @param elementName
- * the name of the element to be added.
- * @param parentName
- * the parent element name.
- * @param childPolicy
- * one of the CHILD_POLICY_* constants defined by
- * IIOMetadataFormat.
- */
- protected void addElement(String elementName, String parentName, int childPolicy) {
- if (childPolicy < CHILD_POLICY_EMPTY || childPolicy > CHILD_POLICY_MAX
- || childPolicy == CHILD_POLICY_REPEAT) {
- throw new IllegalArgumentException("childPolicy is not one of the predefined constants");
- }
-
- Element parent = findElement(parentName);
- Element element = new Element();
- element.name = elementName;
- element.childPolicy = childPolicy;
- elementHash.put(elementName, element);
- parent.children.add(elementName);
- }
-
- /**
- * Adds a new element type to this IIOMetadataFormat with
- * CHILD_POLICY_REPEAT and the specified minimum and maximum number of child
- * elements.
- *
- * @param elementName
- * the element name to be added.
- * @param parentName
- * the parent element name.
- * @param minChildren
- * the minimum number of child elements.
- * @param maxChildren
- * the maximum number of child elements.
- */
- protected void addElement(String elementName, String parentName, int minChildren,
- int maxChildren) {
- if (minChildren < 0) {
- throw new IllegalArgumentException("minChildren < 0!");
- }
- if (minChildren > maxChildren) {
- throw new IllegalArgumentException("minChildren > maxChildren!");
- }
-
- Element parent = findElement(parentName);
- Element element = new Element();
- element.name = elementName;
- element.childPolicy = CHILD_POLICY_REPEAT;
- element.minChildren = minChildren;
- element.maxChildren = maxChildren;
- elementHash.put(elementName, element);
- parent.children.add(elementName);
- }
-
- /**
- * Adds an Object reference with the specified class type to be stored as
- * element's value.
- *
- * @param elementName
- * the element name.
- * @param classType
- * the class indicates the legal types for the object's value.
- * @param arrayMinLength
- * the minimum legal length for the array.
- * @param arrayMaxLength
- * the maximum legal length for the array.
- */
- protected void addObjectValue(String elementName, Class<?> classType, int arrayMinLength,
- int arrayMaxLength) {
- Element element = findElement(elementName);
-
- ObjectValue objVal = new ObjectValue();
- objVal.classType = classType;
- objVal.arrayMaxLength = arrayMaxLength;
- objVal.arrayMinLength = arrayMinLength;
- objVal.valueType = VALUE_LIST;
-
- element.objectValue = objVal;
- }
-
- /**
- * Adds an Object reference with the specified class type to be stored as an
- * element's value.
- *
- * @param elementName
- * the element name.
- * @param classType
- * the class indicates the legal types for the object's value.
- * @param required
- * a flag indicated that this object value must be present.
- * @param defaultValue
- * the default value, or null.
- */
- protected <T> void addObjectValue(String elementName, Class<T> classType, boolean required,
- T defaultValue) {
- // note: reqired is an unused parameter
- Element element = findElement(elementName);
-
- ObjectValue<T> objVal = new ObjectValue<T>();
- objVal.classType = classType;
- objVal.defaultValue = defaultValue;
- objVal.valueType = VALUE_ARBITRARY;
-
- element.objectValue = objVal;
- }
-
- /**
- * Adds an Object reference with the specified class type to be stored as
- * the element's value.
- *
- * @param elementName
- * the element name.
- * @param classType
- * the class indicates the legal types for the object value.
- * @param required
- * a flag indicated that this object value must be present.
- * @param defaultValue
- * the default value, or null.
- * @param enumeratedValues
- * the list of legal values for the object.
- */
- protected <T> void addObjectValue(String elementName, Class<T> classType, boolean required,
- T defaultValue, List<? extends T> enumeratedValues) {
- // note: reqired is an unused parameter
- if (enumeratedValues == null || enumeratedValues.isEmpty()) {
- throw new IllegalArgumentException("enumeratedValues is empty or null");
- }
-
- try {
- for (T enumeratedValue : enumeratedValues) {
- if (enumeratedValue == null) {
- throw new IllegalArgumentException("enumeratedValues contains a null!");
- }
- }
- } catch (ClassCastException e) {
- throw new IllegalArgumentException(
- "enumeratedValues contains a value not of class classType!");
- }
-
- Element element = findElement(elementName);
-
- ObjectValue<T> objVal = new ObjectValue<T>();
- objVal.classType = classType;
- objVal.defaultValue = defaultValue;
- objVal.enumeratedValues = enumeratedValues;
- objVal.valueType = VALUE_ENUMERATION;
-
- element.objectValue = objVal;
- }
-
- /**
- * Adds an Object reference with the specified class type to be stored as
- * the element's value.
- *
- * @param elementName
- * the element name.
- * @param classType
- * the class indicates the legal types for the object value.
- * @param defaultValue
- * the default value, or null.
- * @param minValue
- * the minimum legal value for the object value.
- * @param maxValue
- * the maximum legal value for the object value.
- * @param minInclusive
- * the flag which indicates whether the minValue is inclusive.
- * @param maxInclusive
- * the flag which indicates whether the maxValue is inclusive.
- */
- protected <T extends Object & Comparable<? super T>> void addObjectValue(String elementName,
- Class<T> classType, T defaultValue, Comparable<? super T> minValue,
- Comparable<? super T> maxValue, boolean minInclusive, boolean maxInclusive) {
- Element element = findElement(elementName);
-
- ObjectValue<T> objVal = new ObjectValue<T>();
- objVal.classType = classType;
- objVal.defaultValue = defaultValue;
- objVal.minValue = minValue;
- objVal.maxValue = maxValue;
- objVal.minInclusive = minInclusive;
- objVal.maxInclusive = maxInclusive;
-
- objVal.valueType = VALUE_RANGE;
- objVal.valueType |= minInclusive ? VALUE_RANGE_MIN_INCLUSIVE_MASK : 0;
- objVal.valueType |= maxInclusive ? VALUE_RANGE_MAX_INCLUSIVE_MASK : 0;
-
- element.objectValue = objVal;
- }
-
- public int getAttributeDataType(String elementName, String attrName) {
- Attlist attr = findAttribute(elementName, attrName);
- return attr.dataType;
- }
-
- public String getAttributeDefaultValue(String elementName, String attrName) {
- Attlist attr = findAttribute(elementName, attrName);
- return attr.defaultValue;
- }
-
- public String getAttributeDescription(String elementName, String attrName, Locale locale) {
- findAttribute(elementName, attrName);
- return getResourceString(elementName + "/" + attrName, locale);
- }
-
- public String[] getAttributeEnumerations(String elementName, String attrName) {
- Attlist attr = findAttribute(elementName, attrName);
- if (attr.valueType != VALUE_ENUMERATION) {
- throw new IllegalArgumentException("Attribute is not an enumeration!");
- }
-
- return attr.enumeratedValues.toArray(new String[attr.enumeratedValues.size()]);
- }
-
- public int getAttributeListMaxLength(String elementName, String attrName) {
- Attlist attr = findAttribute(elementName, attrName);
- if (attr.valueType != VALUE_LIST) {
- throw new IllegalArgumentException("Attribute is not a list!");
- }
- return attr.listMaxLength;
- }
-
- public int getAttributeListMinLength(String elementName, String attrName) {
- Attlist attr = findAttribute(elementName, attrName);
- if (attr.valueType != VALUE_LIST) {
- throw new IllegalArgumentException("Attribute is not a list!");
- }
- return attr.listMinLength;
- }
-
- public String getAttributeMaxValue(String elementName, String attrName) {
- Attlist attr = findAttribute(elementName, attrName);
- if ((attr.valueType & VALUE_RANGE) == 0) {
- throw new IllegalArgumentException("Attribute is not a range!");
- }
- return attr.maxValue;
- }
-
- public String getAttributeMinValue(String elementName, String attrName) {
- Attlist attr = findAttribute(elementName, attrName);
- if ((attr.valueType & VALUE_RANGE) == 0) {
- throw new IllegalArgumentException("Attribute is not a range!");
- }
- return attr.minValue;
- }
-
- public String[] getAttributeNames(String elementName) {
- Element element = findElement(elementName);
- return element.attributes.keySet().toArray(new String[element.attributes.size()]);
- }
-
- public int getAttributeValueType(String elementName, String attrName) {
- Attlist attr = findAttribute(elementName, attrName);
- return attr.valueType;
- }
-
- public String[] getChildNames(String elementName) {
- Element element = findElement(elementName);
- if (element.childPolicy == CHILD_POLICY_EMPTY) { // Element cannot have
- // children
- return null;
- }
- return element.children.toArray(new String[element.children.size()]);
- }
-
- public int getChildPolicy(String elementName) {
- Element element = findElement(elementName);
- return element.childPolicy;
- }
-
- public String getElementDescription(String elementName, Locale locale) {
- findElement(elementName); // Check if there is such element
- return getResourceString(elementName, locale);
- }
-
- public int getElementMaxChildren(String elementName) {
- Element element = findElement(elementName);
- if (element.childPolicy != CHILD_POLICY_REPEAT) {
- throw new IllegalArgumentException("Child policy is not CHILD_POLICY_REPEAT!");
- }
- return element.maxChildren;
- }
-
- public int getElementMinChildren(String elementName) {
- Element element = findElement(elementName);
- if (element.childPolicy != CHILD_POLICY_REPEAT) {
- throw new IllegalArgumentException("Child policy is not CHILD_POLICY_REPEAT!");
- }
- return element.minChildren;
- }
-
- public int getObjectArrayMaxLength(String elementName) {
- Element element = findElement(elementName);
- ObjectValue v = element.objectValue;
- if (v == null || v.valueType != VALUE_LIST) {
- throw new IllegalArgumentException("Not a list!");
- }
- return v.arrayMaxLength;
- }
-
- public int getObjectArrayMinLength(String elementName) {
- Element element = findElement(elementName);
- ObjectValue v = element.objectValue;
- if (v == null || v.valueType != VALUE_LIST) {
- throw new IllegalArgumentException("Not a list!");
- }
- return v.arrayMinLength;
- }
-
- public Class<?> getObjectClass(String elementName) {
- ObjectValue v = findObjectValue(elementName);
- return v.classType;
- }
-
- public Object getObjectDefaultValue(String elementName) {
- ObjectValue v = findObjectValue(elementName);
- return v.defaultValue;
- }
-
- public Object[] getObjectEnumerations(String elementName) {
- Element element = findElement(elementName);
- ObjectValue v = element.objectValue;
- if (v == null || v.valueType != VALUE_ENUMERATION) {
- throw new IllegalArgumentException("Not an enumeration!");
- }
- return v.enumeratedValues.toArray();
- }
-
- public Comparable<?> getObjectMaxValue(String elementName) {
- Element element = findElement(elementName);
- ObjectValue v = element.objectValue;
- if (v == null || (v.valueType & VALUE_RANGE) == 0) {
- throw new IllegalArgumentException("Not a range!");
- }
- return v.maxValue;
- }
-
- public Comparable<?> getObjectMinValue(String elementName) {
- Element element = findElement(elementName);
- ObjectValue v = element.objectValue;
- if (v == null || (v.valueType & VALUE_RANGE) == 0) {
- throw new IllegalArgumentException("Not a range!");
- }
- return v.minValue;
- }
-
- public int getObjectValueType(String elementName) {
- Element element = findElement(elementName);
- if (element.objectValue == null) {
- return VALUE_NONE;
- }
- return element.objectValue.valueType;
- }
-
- /**
- * Gets the resource base name for locating ResourceBundles.
- *
- * @return the current resource base name.
- */
- protected String getResourceBaseName() {
- return resourceBaseName;
- }
-
- public String getRootName() {
- return rootName;
- }
-
- /**
- * Gets the standard format instance.
- *
- * @return the IIOMetadataFormat instance.
- */
- public static IIOMetadataFormat getStandardFormatInstance() {
- if (standardFormat == null) {
- standardFormat = new IIOStandardMetadataFormat();
- }
-
- return standardFormat;
- }
-
- public boolean isAttributeRequired(String elementName, String attrName) {
- return findAttribute(elementName, attrName).required;
- }
-
- /**
- * Removes the specified attribute from the specified element.
- *
- * @param elementName
- * the specified element name.
- * @param attrName
- * the specified attribute name.
- */
- protected void removeAttribute(String elementName, String attrName) {
- Element element = findElement(elementName);
- element.attributes.remove(attrName);
- }
-
- /**
- * Removes the specified element from this format.
- *
- * @param elementName
- * the specified element name.
- */
- protected void removeElement(String elementName) {
- Element element;
- if ((element = elementHash.get(elementName)) != null) {
- elementHash.remove(elementName);
- for (Element e : elementHash.values()) {
- e.children.remove(element.name);
- }
- }
- }
-
- /**
- * Removes the object value from the specified element.
- *
- * @param elementName
- * the element name.
- */
- protected void removeObjectValue(String elementName) {
- Element element = findElement(elementName);
- element.objectValue = null;
- }
-
- /**
- * Sets a new base name for ResourceBundles containing descriptions of
- * elements and attributes for this format.
- *
- * @param resourceBaseName
- * the new resource base name.
- */
- protected void setResourceBaseName(String resourceBaseName) {
- if (resourceBaseName == null) {
- throw new IllegalArgumentException("resourceBaseName == null!");
- }
- this.resourceBaseName = resourceBaseName;
- }
-
- /**
- * The Class Element.
- */
- @SuppressWarnings( {
- "ClassWithoutConstructor"
- })
- private class Element {
-
- /**
- * The name.
- */
- String name;
-
- /**
- * The children.
- */
- ArrayList<String> children = new ArrayList<String>();
-
- /**
- * The attributes.
- */
- HashMap<String, Attlist> attributes = new HashMap<String, Attlist>();
-
- /**
- * The min children.
- */
- int minChildren;
-
- /**
- * The max children.
- */
- int maxChildren;
-
- /**
- * The child policy.
- */
- int childPolicy;
-
- /**
- * The object value.
- */
- ObjectValue objectValue;
- }
-
- /**
- * The Class Attlist.
- */
- @SuppressWarnings( {
- "ClassWithoutConstructor"
- })
- private class Attlist {
-
- /**
- * The name.
- */
- String name;
-
- /**
- * The data type.
- */
- int dataType;
-
- /**
- * The required.
- */
- boolean required;
-
- /**
- * The list min length.
- */
- int listMinLength;
-
- /**
- * The list max length.
- */
- int listMaxLength;
-
- /**
- * The default value.
- */
- String defaultValue;
-
- /**
- * The enumerated values.
- */
- List<String> enumeratedValues;
-
- /**
- * The min value.
- */
- String minValue;
-
- /**
- * The max value.
- */
- String maxValue;
-
- /**
- * The min inclusive.
- */
- boolean minInclusive;
-
- /**
- * The max inclusive.
- */
- boolean maxInclusive;
-
- /**
- * The value type.
- */
- int valueType;
- }
-
- /**
- * The Class ObjectValue.
- */
- @SuppressWarnings( {
- "ClassWithoutConstructor"
- })
- private class ObjectValue<T> {
-
- /**
- * The class type.
- */
- Class<T> classType;
-
- /**
- * The array min length.
- */
- int arrayMinLength;
-
- /**
- * The array max length.
- */
- int arrayMaxLength;
-
- /**
- * The default value.
- */
- T defaultValue;
-
- /**
- * The enumerated values.
- */
- List<? extends T> enumeratedValues;
-
- /**
- * The min value.
- */
- Comparable<? super T> minValue;
-
- /**
- * The max value.
- */
- Comparable<? super T> maxValue;
-
- /**
- * The min inclusive.
- */
- boolean minInclusive;
-
- /**
- * The max inclusive.
- */
- boolean maxInclusive;
-
- /**
- * The value type.
- */
- int valueType;
- }
-
- /**
- * Find element.
- *
- * @param name
- * the name.
- * @return the element.
- */
- private Element findElement(String name) {
- Element element;
- if ((element = elementHash.get(name)) == null) {
- throw new IllegalArgumentException("element name is null or no such element: " + name);
- }
-
- return element;
- }
-
- /**
- * Find attribute.
- *
- * @param elementName
- * the element name.
- * @param attributeName
- * the attribute name.
- * @return the attlist.
- */
- private Attlist findAttribute(String elementName, String attributeName) {
- Element element = findElement(elementName);
- Attlist attribute;
- if ((attribute = element.attributes.get(attributeName)) == null) {
- throw new IllegalArgumentException("attribute name is null or no such attribute: "
- + attributeName);
- }
-
- return attribute;
- }
-
- /**
- * Find object value.
- *
- * @param elementName
- * the element name.
- * @return the object value.
- */
- private ObjectValue findObjectValue(String elementName) {
- Element element = findElement(elementName);
- ObjectValue v = element.objectValue;
- if (v == null) {
- throw new IllegalArgumentException("No object within element");
- }
- return v;
- }
-
- /**
- * Gets the resource string.
- *
- * @param key
- * the key.
- * @param locale
- * the locale.
- * @return the resource string.
- */
- private String getResourceString(String key, Locale locale) {
- if (locale == null) {
- locale = Locale.getDefault();
- }
-
- // Get the context class loader and try to locate the bundle with it
- // first
- ClassLoader contextClassloader = AccessController
- .doPrivileged(new PrivilegedAction<ClassLoader>() {
- public ClassLoader run() {
- return Thread.currentThread().getContextClassLoader();
- }
- });
-
- // Now try to get the resource bundle
- ResourceBundle rb;
- try {
- rb = ResourceBundle.getBundle(resourceBaseName, locale, contextClassloader);
- } catch (MissingResourceException e) {
- try {
- rb = ResourceBundle.getBundle(resourceBaseName, locale);
- } catch (MissingResourceException e1) {
- return null;
- }
- }
-
- try {
- return rb.getString(key);
- } catch (MissingResourceException e) {
- return null;
- } catch (ClassCastException e) {
- return null; // Not a string resource
- }
- }
-}
diff --git a/awt/javax/imageio/metadata/IIOMetadataNode.java b/awt/javax/imageio/metadata/IIOMetadataNode.java
deleted file mode 100644
index efbaae8..0000000
--- a/awt/javax/imageio/metadata/IIOMetadataNode.java
+++ /dev/null
@@ -1,1080 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package javax.imageio.metadata;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.w3c.dom.Attr;
-import org.w3c.dom.DOMException;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.TypeInfo;
-import org.w3c.dom.UserDataHandler;
-
-//???AWT
-//import org.w3c.dom.TypeInfo;
-//import org.w3c.dom.UserDataHandler;
-
-/**
- * The Class IIOMetadataNode represents a node of the (DOM-style) metadata tree.
- *
- * @since Android 1.0
- */
-public class IIOMetadataNode implements Element, NodeList {
-
- /**
- * The node name.
- */
- private String nodeName;
-
- /**
- * The node value.
- */
- private String nodeValue;
-
- /**
- * The attributes.
- */
- private IIOMetadataNodeList attrs = new IIOMetadataNodeList(new ArrayList<IIOMetadataNode>());
-
- /**
- * The parent node.
- */
- private IIOMetadataNode parent;
-
- /**
- * The first child node.
- */
- private IIOMetadataNode firstChild;
-
- /**
- * The last child node.
- */
- private IIOMetadataNode lastChild;
-
- /**
- * The previous sibling.
- */
- private IIOMetadataNode previousSibling;
-
- /**
- * The next sibling.
- */
- private IIOMetadataNode nextSibling;
-
- /**
- * The number of children.
- */
- private int nChildren;
-
- /**
- * The user object associated with this node.
- */
- private Object userObject;
-
- /**
- * The text content of this node.
- */
- private String textContent;
-
- /**
- * Instantiates a new empty node.
- */
- public IIOMetadataNode() {
- }
-
- /**
- * Instantiates a new empty node with the specified name.
- *
- * @param nodeName
- * the node name.
- */
- public IIOMetadataNode(String nodeName) {
- this.nodeName = nodeName;
- }
-
- /**
- * Instantiates a new IIOMetadataNode with the specified name and value.
- *
- * @param nodeName
- * the node name.
- * @param nodeValue
- * the node value.
- */
- private IIOMetadataNode(String nodeName, String nodeValue) {
- this.nodeName = nodeName;
- this.nodeValue = nodeValue;
- }
-
- public String getTagName() {
- return nodeName;
- }
-
- public String getAttribute(String name) {
- Attr attrNode = (Attr)attrs.getNamedItem(name);
- return (attrNode == null) ? "" : attrNode.getValue();
- }
-
- public void setAttribute(String name, String value) throws DOMException {
- Attr attr = (Attr)attrs.getNamedItem(name);
- if (attr != null) {
- attr.setValue(value);
- } else {
- attrs.list.add(new IIOMetadataAttr(name, value, this));
- }
- }
-
- public void removeAttribute(String name) throws DOMException {
- IIOMetadataAttr attr = (IIOMetadataAttr)attrs.getNamedItem(name);
- if (attr != null) {
- attr.setOwnerElement(null);
- attrs.list.remove(attr);
- }
- }
-
- public Attr getAttributeNode(String name) {
- return (Attr)attrs.getNamedItem(name);
- }
-
- public Attr setAttributeNode(Attr newAttr) throws DOMException {
- // Check if this attribute is already in use.
- Element owner = newAttr.getOwnerElement();
- if (owner != null) {
- if (owner == this) { // Replacing an attribute node by itself has no
- // effect
- return null;
- } else {
- throw new DOMException(DOMException.INUSE_ATTRIBUTE_ERR,
- "Attribute is already in use");
- }
- }
-
- String name = newAttr.getName();
- Attr oldAttr = getAttributeNode(name);
- if (oldAttr != null) {
- removeAttributeNode(oldAttr);
- }
-
- IIOMetadataAttr iioAttr;
- if (newAttr instanceof IIOMetadataAttr) {
- iioAttr = (IIOMetadataAttr)newAttr;
- iioAttr.setOwnerElement(this);
- } else {
- iioAttr = new IIOMetadataAttr(name, newAttr.getValue(), this);
- }
-
- attrs.list.add(iioAttr);
-
- return oldAttr;
- }
-
- public Attr removeAttributeNode(Attr oldAttr) throws DOMException {
- if (!attrs.list.remove(oldAttr)) { // Not found
- throw new DOMException(DOMException.NOT_FOUND_ERR, "No such attribute!");
- }
-
- ((IIOMetadataAttr)oldAttr).setOwnerElement(null);
-
- return oldAttr;
- }
-
- public NodeList getElementsByTagName(String name) {
- ArrayList<IIOMetadataNode> nodes = new ArrayList<IIOMetadataNode>();
-
- // Non-recursive tree walk
- Node pos = this;
-
- while (pos != null) {
- if (pos.getNodeName().equals(name)) {
- nodes.add((IIOMetadataNode)pos);
- }
-
- Node nextNode = pos.getFirstChild();
-
- while (nextNode == null) {
- if (pos == this) {
- break;
- }
-
- nextNode = pos.getNextSibling();
-
- if (nextNode == null) {
- pos = pos.getParentNode();
-
- if (pos == null || pos == this) {
- nextNode = null;
- break;
- }
- }
- }
- pos = nextNode;
- }
-
- return new IIOMetadataNodeList(nodes);
- }
-
- public String getAttributeNS(String namespaceURI, String localName) throws DOMException {
- return getAttribute(localName);
- }
-
- public void setAttributeNS(String namespaceURI, String qualifiedName, String value)
- throws DOMException {
- setAttribute(qualifiedName, value);
- }
-
- public void removeAttributeNS(String namespaceURI, String localName) throws DOMException {
- removeAttribute(localName);
- }
-
- public Attr getAttributeNodeNS(String namespaceURI, String localName) throws DOMException {
- return getAttributeNode(localName);
- }
-
- public Attr setAttributeNodeNS(Attr newAttr) throws DOMException {
- return setAttributeNode(newAttr);
- }
-
- public NodeList getElementsByTagNameNS(String namespaceURI, String localName)
- throws DOMException {
- return getElementsByTagName(localName);
- }
-
- public boolean hasAttribute(String name) {
- return attrs.getNamedItem(name) != null;
- }
-
- public boolean hasAttributeNS(String namespaceURI, String localName) throws DOMException {
- return hasAttribute(localName);
- }
-
- // ???AWT
- /*
- * public TypeInfo getSchemaTypeInfo() { throw new
- * DOMException(DOMException.NOT_SUPPORTED_ERR, "Method not supported"); }
- */
-
- /**
- * <i>Description copied from interface: org.w3c.dom.Element (DOM Level
- * 3)</i>
- * <p>
- * If the parameter isId is true, this method declares the specified
- * attribute to be a user-determined ID attribute . This affects the value
- * of Attr.isId and the behavior of Document.getElementById, but does not
- * change any schema that may be in use, in particular this does not affect
- * the Attr.schemaTypeInfo of the specified Attr node. Use the value false
- * for the parameter isId to undeclare an attribute for being a
- * user-determined ID attribute. To specify an attribute by local name and
- * namespace URI, use the setIdAttributeNS method.
- * </p>
- *
- * @param name
- * the name of the attribute.
- * @param isId
- * the flag which determines whether this attribute is of type
- * ID.
- * @throws DOMException
- * if a DOM error occurred while setting the attribute type.
- * <p>
- * NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
- * <br>
- * NOT_FOUND_ERR: Raised if the specified node is not an
- * attribute of this element.
- * </p>
- */
- public void setIdAttribute(String name, boolean isId) throws DOMException {
- throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "Method not supported");
- }
-
- /**
- * <i>Description copied from interface: org.w3c.dom.Element (DOM Level
- * 3)</i>
- * <p>
- * If the parameter isId is true, this method declares the specified
- * attribute to be a user-determined ID attribute . This affects the value
- * of Attr.isId and the behavior of Document.getElementById, but does not
- * change any schema that may be in use, in particular this does not affect
- * the Attr.schemaTypeInfo of the specified Attr node. Use the value false
- * for the parameter isId to undeclare an attribute for being a
- * user-determined ID attribute.
- * </p>
- *
- * @param namespaceURI
- * the namespace URI of the attribute.
- * @param localName
- * the local name of the attribute.
- * @param isId
- * the flag which determines whether this attribute is of type
- * ID.
- * @throws DOMException
- * if a DOM error occurred while setting the attribute type.
- * <p>
- * NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
- * <br>
- * NOT_FOUND_ERR: Raised if the specified node is not an
- * attribute of this element.
- * </p>
- */
- public void setIdAttributeNS(String namespaceURI, String localName, boolean isId)
- throws DOMException {
- throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "Method not supported");
- }
-
- /**
- * <i>Description copied from interface: org.w3c.dom.Element (DOM Level
- * 3)</i>
- * <p>
- * If the parameter isId is true, this method declares the specified
- * attribute to be a user-determined ID attribute . This affects the value
- * of Attr.isId and the behavior of Document.getElementById, but does not
- * change any schema that may be in use, in particular this does not affect
- * the Attr.schemaTypeInfo of the specified Attr node. Use the value false
- * for the parameter isId to undeclare an attribute for being a
- * user-determined ID attribute.
- * </p>
- *
- * @param idAttr
- * the attribute node.
- * @param isId
- * the flag which determines whether this attribute is of type
- * ID.
- * @throws DOMException
- * if a DOM error occurred while setting the attribute type.
- * <p>
- * NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
- * <br>
- * NOT_FOUND_ERR: Raised if the specified node is not an
- * attribute of this element.
- * </p>
- */
- public void setIdAttributeNode(Attr idAttr, boolean isId) throws DOMException {
- throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "Method not supported");
- }
-
- public String getNodeName() {
- return nodeName;
- }
-
- public String getNodeValue() throws DOMException {
- return nodeValue;
- }
-
- public void setNodeValue(String nodeValue) throws DOMException {
- this.nodeValue = nodeValue;
- }
-
- public short getNodeType() {
- return ELEMENT_NODE;
- }
-
- public Node getParentNode() {
- return parent;
- }
-
- public NodeList getChildNodes() {
- return this;
- }
-
- public Node getFirstChild() {
- return firstChild;
- }
-
- public Node getLastChild() {
- return lastChild;
- }
-
- public Node getPreviousSibling() {
- return previousSibling;
- }
-
- public Node getNextSibling() {
- return nextSibling;
- }
-
- public NamedNodeMap getAttributes() {
- return attrs;
- }
-
- public Document getOwnerDocument() {
- return null;
- }
-
- public Node insertBefore(Node newChild, Node refChild) throws DOMException {
- if (newChild == null) {
- throw new IllegalArgumentException("newChild == null!");
- }
-
- IIOMetadataNode newIIOChild = (IIOMetadataNode)newChild;
- IIOMetadataNode refIIOChild = (IIOMetadataNode)refChild;
-
- newIIOChild.parent = this;
-
- if (refIIOChild == null) {
- newIIOChild.nextSibling = null;
- newIIOChild.previousSibling = lastChild;
-
- // Fix this node
- lastChild = newIIOChild;
- if (firstChild == null) {
- firstChild = newIIOChild;
- }
- } else {
- newIIOChild.nextSibling = refIIOChild;
- newIIOChild.previousSibling = refIIOChild.previousSibling;
-
- // Fix this node
- if (firstChild == refIIOChild) {
- firstChild = newIIOChild;
- }
-
- // Fix next node
- if (refIIOChild != null) {
- refIIOChild.previousSibling = newIIOChild;
- }
- }
-
- // Fix prev node
- if (newIIOChild.previousSibling != null) {
- newIIOChild.previousSibling.nextSibling = newIIOChild;
- }
-
- nChildren++;
-
- return newIIOChild;
- }
-
- public Node replaceChild(Node newChild, Node oldChild) throws DOMException {
- if (newChild == null) {
- throw new IllegalArgumentException("newChild == null!");
- }
-
- IIOMetadataNode newIIOChild = (IIOMetadataNode)newChild;
- IIOMetadataNode oldIIOChild = (IIOMetadataNode)oldChild;
-
- IIOMetadataNode next = oldIIOChild.nextSibling;
- IIOMetadataNode previous = oldIIOChild.previousSibling;
-
- // Fix new node
- newIIOChild.parent = this;
- newIIOChild.nextSibling = next;
- newIIOChild.previousSibling = previous;
-
- // Fix this node
- if (lastChild == oldIIOChild) {
- lastChild = newIIOChild;
- }
- if (firstChild == oldIIOChild) {
- firstChild = newIIOChild;
- }
-
- // Fix siblings
- if (next != null) {
- next.previousSibling = newIIOChild;
- }
- if (previous != null) {
- previous.nextSibling = newIIOChild;
- }
-
- // Fix old child
- oldIIOChild.parent = null;
- oldIIOChild.nextSibling = next;
- oldIIOChild.previousSibling = previous;
-
- return oldIIOChild;
- }
-
- public Node removeChild(Node oldChild) throws DOMException {
- if (oldChild == null) {
- throw new IllegalArgumentException("oldChild == null!");
- }
-
- IIOMetadataNode oldIIOChild = (IIOMetadataNode)oldChild;
-
- // Fix next and previous
- IIOMetadataNode previous = oldIIOChild.previousSibling;
- IIOMetadataNode next = oldIIOChild.nextSibling;
-
- if (previous != null) {
- previous.nextSibling = next;
- }
- if (next != null) {
- next.previousSibling = previous;
- }
-
- // Fix this node
- if (lastChild == oldIIOChild) {
- lastChild = previous;
- }
- if (firstChild == oldIIOChild) {
- firstChild = next;
- }
- nChildren--;
-
- // Fix old child
- oldIIOChild.parent = null;
- oldIIOChild.previousSibling = null;
- oldIIOChild.nextSibling = null;
-
- return oldIIOChild;
- }
-
- public Node appendChild(Node newChild) throws DOMException {
- return insertBefore(newChild, null);
- }
-
- public boolean hasChildNodes() {
- return nChildren != 0;
- }
-
- public Node cloneNode(boolean deep) {
- IIOMetadataNode cloned = new IIOMetadataNode(nodeName);
- cloned.setUserObject(getUserObject());
-
- if (deep) { // Clone recursively
- IIOMetadataNode c = firstChild;
- while (c != null) {
- cloned.insertBefore(c.cloneNode(true), null);
- c = c.nextSibling;
- }
- }
-
- return cloned; // To change body of implemented methods use File |
- // Settings | File Templates.
- }
-
- public void normalize() {
- // Do nothing
- }
-
- public boolean isSupported(String feature, String version) {
- return false;
- }
-
- public String getNamespaceURI() {
- return null;
- }
-
- public String getPrefix() {
- return null;
- }
-
- public void setPrefix(String prefix) throws DOMException {
- // Do nothing
- }
-
- public String getLocalName() {
- return nodeName;
- }
-
- public boolean hasAttributes() {
- return attrs.list.size() > 0;
- }
-
- /**
- * <i>Description copied from interface: org.w3c.dom.Node (DOM Level 3)</i>
- * <p>
- * The absolute base URI of this node or null if the implementation wasn't
- * able to obtain an absolute URI. This value is computed as described in.
- * However, when the Document supports the feature "HTML" [DOM Level 2
- * HTML], the base URI is computed using first the value of the href
- * attribute of the HTML BASE element if any, and the value of the
- * documentURI attribute from the Document interface otherwise.
- * </p>
- *
- * @return the string representation of the absolute base URI.
- */
- public String getBaseURI() {
- throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "Method not supported");
- }
-
- /**
- * <i>Description copied from interface: org.w3c.dom.Node (DOM Level 3)</i>
- * <p>
- * Compares the reference node, i.e. the node on which this method is being
- * called, with a node, i.e. the one passed as a parameter, with regard to
- * their position in the document and according to the document order.
- * </p>
- *
- * @param other
- * the node to compare against the reference node.
- * @return Returns how the node is positioned relatively to the reference
- * node.
- * @throws DOMException
- * NOT_SUPPORTED_ERR: when the compared nodes are from different
- * DOM implementations that do not coordinate to return
- * consistent implementation-specific results.
- */
- public short compareDocumentPosition(Node other) throws DOMException {
- throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "Method not supported");
- }
-
- /**
- * <i>Description copied from interface: org.w3c.dom.Node (DOM Level 3)</i>
- * <p>
- * This attribute returns the text content of this node and its descendants.
- * When it is defined to be null, setting it has no effect. On setting, any
- * possible children this node may have are removed and, if it the new
- * string is not empty or null, replaced by a single Text node containing
- * the string this attribute is set to. On getting, no serialization is
- * performed, the returned string does not contain any markup. No whitespace
- * normalization is performed and the returned string does not contain the
- * white spaces in element content (see the attribute
- * Text.isElementContentWhitespace). Similarly, on setting, no parsing is
- * performed either, the input string is taken as pure textual content. The
- * string returned is made of the text content of this node depending on its
- * type, as defined below:
- * <table>
- * <tr>
- * <td><strong>Node type</strong></td>
- * <td><strong>Content</strong></td>
- * </tr>
- * <tr>
- * <td>ELEMENT_NODE, ATTRIBUTE_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE,
- * DOCUMENT_FRAGMENT_NODE</td>
- * <td>concatenation of the textContent attribute value of every child node,
- * excluding COMMENT_NODE and PROCESSING_INSTRUCTION_NODE nodes. This is the
- * empty string if the node has no children.</td>
- * </tr>
- * <tr>
- * <td>TEXT_NODE, CDATA_SECTION_NODE, COMMENT_NODE,
- * PROCESSING_INSTRUCTION_NODE</td>
- * <td>nodeValue</td>
- * </tr>
- * <tr>
- * <td>DOCUMENT_NODE, DOCUMENT_TYPE_NODE, NOTATION_NODE</td>
- * <td>null</td>
- * </tr>
- * </table>
- * </p>
- *
- * @return the text content depending on the type of this node.
- * @throws DOMException
- * DOMSTRING_SIZE_ERR: Raised when it would return more
- * characters than fit in a DOMString variable on the
- * implementation platform.
- */
- public String getTextContent() throws DOMException {
- return textContent;
- }
-
- /**
- * <i>Description copied from interface: org.w3c.dom.Node (DOM Level 3)</i>
- * <p>
- * This attribute returns the text content of this node and its descendants.
- * When it is defined to be null, setting it has no effect. On setting, any
- * possible children this node may have are removed and, if it the new
- * string is not empty or null, replaced by a single Text node containing
- * the string this attribute is set to. On getting, no serialization is
- * performed, the returned string does not contain any markup. No whitespace
- * normalization is performed and the returned string does not contain the
- * white spaces in element content (see the attribute
- * Text.isElementContentWhitespace). Similarly, on setting, no parsing is
- * performed either, the input string is taken as pure textual content. The
- * string returned is made of the text content of this node depending on its
- * type, as defined below:
- * <table>
- * <tr>
- * <td><strong>Node type</strong></td>
- * <td><strong>Content</strong></td>
- * </tr>
- * <tr>
- * <td>ELEMENT_NODE, ATTRIBUTE_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE,
- * DOCUMENT_FRAGMENT_NODE</td>
- * <td>concatenation of the textContent attribute value of every child node,
- * excluding COMMENT_NODE and PROCESSING_INSTRUCTION_NODE nodes. This is the
- * empty string if the node has no children.</td>
- * </tr>
- * <tr>
- * <td>TEXT_NODE, CDATA_SECTION_NODE, COMMENT_NODE,
- * PROCESSING_INSTRUCTION_NODE</td>
- * <td>nodeValue</td>
- * </tr>
- * <tr>
- * <td>DOCUMENT_NODE, DOCUMENT_TYPE_NODE, NOTATION_NODE</td>
- * <td>null</td>
- * </tr>
- * </table>
- * </p>
- *
- * @param textContent
- * the text content for this node.
- * @throws DOMException
- * NO_MODIFICATION_ALLOWED_ERR: Raised when the node is
- * readonly.
- */
- public void setTextContent(String textContent) throws DOMException {
- this.textContent = textContent;
- }
-
- /**
- * <i>Description copied from interface: org.w3c.dom.Node (DOM Level 3)</i>
- * <p>
- * Returns whether this node is the same node as the given one. This method
- * provides a way to determine whether two Node references returned by the
- * implementation reference the same object. When two Node references are
- * references to the same object, even if through a proxy, the references
- * may be used completely interchangeably, such that all attributes have the
- * same values and calling the same DOM method on either reference always
- * has exactly the same effect.
- * </p>
- *
- * @param other
- * the node to test against.
- * @return true, if the nodes are the same, false otherwise.
- */
- public boolean isSameNode(Node other) {
- throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "Method not supported");
- }
-
- /**
- * <i>Description copied from interface: org.w3c.dom.Node (DOM Level 3)</i>
- * <p>
- * Look up the prefix associated to the given namespace URI, starting from
- * this node. The default namespace declarations are ignored by this method.
- * See for details on the algorithm used by this method.
- * </p>
- *
- * @param namespaceURI
- * the namespace URI to look for.
- * @return the associated namespace prefix if found or null if none is
- * found. If more than one prefix are associated to the namespace
- * prefix, the returned namespace prefix is implementation
- * dependent.
- */
- public String lookupPrefix(String namespaceURI) {
- throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "Method not supported");
- }
-
- /**
- * <i>Description copied from interface: org.w3c.dom.Node (DOM Level 3)</i>
- * <p>
- * This method checks if the specified namespaceURI is the default namespace
- * or not.
- * </p>
- *
- * @param namespaceURI
- * the namespace URI to look for.
- * @return true, if the specified namespaceURI is the default namespace,
- * false otherwise.
- */
- public boolean isDefaultNamespace(String namespaceURI) {
- throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "Method not supported");
- }
-
- /**
- * <i>Description copied from interface: org.w3c.dom.Node (DOM Level 3)</i>
- * <p>
- * Look up the namespace URI associated to the given prefix, starting from
- * this node. See for details on the algorithm used by this method.
- * </p>
- *
- * @param prefix
- * the prefix to look for. If this parameter is null, the method
- * will return the default namespace URI if any.
- * @return the associated namespace URI or null if none is found.
- */
- public String lookupNamespaceURI(String prefix) {
- throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "Method not supported");
- }
-
- /**
- * <i>Description copied from interface: org.w3c.dom.Node (DOM Level 3)</i>
- * <p>
- * Tests whether two nodes are equal. This method tests for equality of
- * nodes, not sameness (i.e., whether the two nodes are references to the
- * same object) which can be tested with Node.isSameNode(). All nodes that
- * are the same will also be equal, though the reverse may not be true. Two
- * nodes are equal if and only if the following conditions are satisfied:
- * <p>
- * <li>The two nodes are of the same type.</li>
- * <li>The following string attributes are equal: nodeName, localName,
- * namespaceURI, prefix, nodeValue . This is: they are both null, or they
- * have the same length and are character for character identical.</li>
- * <li>The attributes NamedNodeMaps are equal. This is: they are both null,
- * or they have the same length and for each node that exists in one map
- * there is a node that exists in the other map and is equal, although not
- * necessarily at the same index.</li>
- * <li>The childNodes NodeLists are equal. This is: they are both null, or
- * they have the same length and contain equal nodes at the same index. Note
- * that normalization can affect equality; to avoid this, nodes should be
- * normalized before being compared.</li>
- * </p>
- * For two DocumentType nodes to be equal, the following conditions must
- * also be satisfied:
- * <p>
- * <li>The following string attributes are equal: publicId, systemId,
- * internalSubset.</li>
- * <li>The entities NamedNodeMaps are equal.</li>
- * <li>The notations NamedNodeMaps are equal.</li>
- * </p>
- * On the other hand, the following do not affect equality: the
- * ownerDocument, baseURI, and parentNode attributes, the specified
- * attribute for Attr nodes, the schemaTypeInfo attribute for Attr and
- * Element nodes, the Text.isElementContentWhitespace attribute for Text
- * nodes, as well as any user data or event listeners registered on the
- * nodes. </p>
- * <p>
- * Note: As a general rule, anything not mentioned in the description above
- * is not significant in consideration of equality checking. Note that
- * future versions of this specification may take into account more
- * attributes and implementations conform to this specification are expected
- * to be updated accordingly.
- * </p>
- *
- * @param arg
- * the node to compare equality with.
- * @return true, if the nodes are equal, false otherwise.
- */
- public boolean isEqualNode(Node arg) {
- throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "Method not supported");
- }
-
- /**
- * <i>Description copied from interface: org.w3c.dom.Node (DOM Level 3)</i>
- * <p>
- * This method returns a specialized object which implements the specialized
- * APIs of the specified feature and version, as specified in. The
- * specialized object may also be obtained by using binding-specific casting
- * methods but is not necessarily expected to, as discussed in. This method
- * also allow the implementation to provide specialized objects which do not
- * support the Node interface.
- * </p>
- *
- * @param feature
- * the name of the feature requested. Note that any plus sign "+"
- * prepended to the name of the feature will be ignored since it
- * is not significant in the context of this method.
- * @param version
- * this is the version number of the feature to test.
- * @return the object which implements the specialized APIs of the specified
- * feature and version, if any, or null if there is no object which
- * implements interfaces associated with that feature. If the
- * DOMObject returned by this method implements the Node interface,
- * it must delegate to the primary core Node and not return results
- * inconsistent with the primary core Node such as attributes,
- * childNodes, etc.
- */
- public Object getFeature(String feature, String version) {
- throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "Method not supported");
- }
-
- // ???AWT
- /*
- * public Object setUserData(String key, Object data, UserDataHandler
- * handler) { throw new DOMException(DOMException.NOT_SUPPORTED_ERR,
- * "Method not supported"); }
- */
-
- /**
- * <i>Description copied from interface: org.w3c.dom.Node (DOM Level 3)</i>
- * <p>
- * Retrieves the object associated to a key on a this node. The object must
- * first have been set to this node by calling setUserData with the same
- * key.
- * </p>
- *
- * @param key
- * the key the object is associated to.
- * @return the DOMUserData associated to the given key on this node, or null
- * if there was none.
- */
- public Object getUserData(String key) {
- throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "Method not supported");
- }
-
- public Node item(int index) {
- if (index < 0 || index >= nChildren) {
- return null;
- }
-
- Node n;
- for (n = getFirstChild(); index > 0; index--) {
- n = n.getNextSibling();
- }
-
- return n;
- }
-
- public int getLength() {
- return nChildren;
- }
-
- /**
- * Gets the user object associated with this node.
- *
- * @return the user object associated with this node.
- */
- public Object getUserObject() {
- return userObject;
- }
-
- public TypeInfo getSchemaTypeInfo() {
- throw new UnsupportedOperationException();
- }
-
- public Object setUserData(String key, Object data, UserDataHandler handler) {
- throw new UnsupportedOperationException();
- }
-
- /**
- * Sets the user object associated with this node.
- *
- * @param userObject
- * the new user object associated with this node.
- */
- public void setUserObject(Object userObject) {
- this.userObject = userObject;
- }
-
- /**
- * The Class IIOMetadataAttr.
- */
- private class IIOMetadataAttr extends IIOMetadataNode implements Attr {
-
- /**
- * The owner element.
- */
- private Element ownerElement;
-
- /**
- * Instantiates a new iIO metadata attr.
- *
- * @param name
- * the name.
- * @param value
- * the value.
- * @param owner
- * the owner.
- */
- public IIOMetadataAttr(String name, String value, Element owner) {
- super(name, value);
- this.ownerElement = owner;
- }
-
- public String getName() {
- return getNodeName();
- }
-
- public boolean getSpecified() {
- return true;
- }
-
- public String getValue() {
- return nodeValue;
- }
-
- public void setValue(String value) throws DOMException {
- nodeValue = value;
- }
-
- public Element getOwnerElement() {
- return ownerElement;
- }
-
- /**
- * Sets the owner element.
- *
- * @param ownerElement
- * the new owner element.
- */
- public void setOwnerElement(Element ownerElement) {
- this.ownerElement = ownerElement;
- }
-
- /**
- * @return
- */
- public boolean isId() {
- throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "Method not supported");
- }
-
- @Override
- public short getNodeType() {
- return ATTRIBUTE_NODE;
- }
- }
-
- /**
- * The Class IIOMetadataNodeList.
- */
- private class IIOMetadataNodeList implements NodeList, NamedNodeMap {
-
- /**
- * The list.
- */
- private List<IIOMetadataNode> list;
-
- /**
- * Instantiates a new iIO metadata node list.
- *
- * @param list
- * the list.
- */
- IIOMetadataNodeList(List<IIOMetadataNode> list) {
- this.list = list;
- }
-
- public Node item(int index) {
- try {
- return list.get(index);
- } catch (IndexOutOfBoundsException e) {
- return null;
- }
- }
-
- public int getLength() {
- return list.size();
- }
-
- public Node getNamedItem(String name) {
- for (IIOMetadataNode node : list) {
- if (name.equals(node.getNodeName())) {
- return node;
- }
- }
- return null;
- }
-
- public Node setNamedItem(Node arg) throws DOMException {
- throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR,
- "This NamedNodeMap is read-only!");
- }
-
- public Node removeNamedItem(String name) throws DOMException {
- throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR,
- "This NamedNodeMap is read-only!");
- }
-
- public Node getNamedItemNS(String namespaceURI, String localName) throws DOMException {
- return getNamedItem(localName);
- }
-
- public Node setNamedItemNS(Node arg) throws DOMException {
- throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR,
- "This NamedNodeMap is read-only!");
- }
-
- public Node removeNamedItemNS(String namespaceURI, String localName) throws DOMException {
- throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR,
- "This NamedNodeMap is read-only!");
- }
- }
-}
diff --git a/awt/javax/imageio/metadata/IIOStandardMetadataFormat.java b/awt/javax/imageio/metadata/IIOStandardMetadataFormat.java
deleted file mode 100644
index 706cb2f..0000000
--- a/awt/javax/imageio/metadata/IIOStandardMetadataFormat.java
+++ /dev/null
@@ -1,297 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package javax.imageio.metadata;
-
-import javax.imageio.ImageTypeSpecifier;
-import java.util.ArrayList;
-
-/**
- * The class IIOStandardMetadataFormat describes the rules of the standard
- * metadata format.
- *
- * @since Android 1.0
- */
-class IIOStandardMetadataFormat extends IIOMetadataFormatImpl {
-
- /**
- * Instantiates a new IIOStandardMetadataFormat.
- */
- public IIOStandardMetadataFormat() {
- super(standardMetadataFormatName, CHILD_POLICY_SOME);
- buildDTD();
- }
-
- @Override
- public boolean canNodeAppear(String elementName, ImageTypeSpecifier imageType) {
- return true;
- }
-
- /**
- * Builds the DTD that describes the standard metadata format.
- */
- private void buildDTD() {
- // CHROMA
- addElement("Chroma", standardMetadataFormatName, CHILD_POLICY_SOME);
-
- addElement("ColorSpaceType", "Chroma", CHILD_POLICY_EMPTY);
-
- ArrayList<String> values = new ArrayList<String>(27);
- values.add("XYZ");
- values.add("Lab");
- values.add("Luv");
- values.add("YCbCr");
- values.add("Yxy");
- values.add("YCCK");
- values.add("PhotoYCC");
- values.add("RGB");
- values.add("GRAY");
- values.add("HSV");
- values.add("HLS");
- values.add("CMYK");
- values.add("CMY");
- values.add("2CLR");
- values.add("3CLR");
- values.add("4CLR");
- values.add("5CLR");
- values.add("6CLR");
- values.add("7CLR");
- values.add("8CLR");
- values.add("9CLR");
- values.add("ACLR");
- values.add("BCLR");
- values.add("CCLR");
- values.add("DCLR");
- values.add("ECLR");
- values.add("FCLR");
- addAttribute("ColorSpaceType", "name", DATATYPE_STRING, true, null, values);
-
- addElement("NumChannels", "Chroma", CHILD_POLICY_EMPTY);
- addAttribute("NumChannels", "value", DATATYPE_INTEGER, true, 0, Integer.MAX_VALUE); // list
- // -
- // why
- // ?
-
- addElement("Gamma", "Chroma", CHILD_POLICY_EMPTY);
- addAttribute("Gamma", "value", DATATYPE_FLOAT, true, null);
-
- addElement("BlackIsZero", "Chroma", CHILD_POLICY_EMPTY);
- addBooleanAttribute("BlackIsZero", "value", true, true);
-
- addElement("Palette", "Chroma", 0, Integer.MAX_VALUE); // CHILD_POLICY_REPEAT
- addElement("PaletteEntry", "Palette", CHILD_POLICY_EMPTY);
- addAttribute("PaletteEntry", "index", DATATYPE_INTEGER, true, null);
- addAttribute("PaletteEntry", "red", DATATYPE_INTEGER, true, null);
- addAttribute("PaletteEntry", "green", DATATYPE_INTEGER, true, null);
- addAttribute("PaletteEntry", "blue", DATATYPE_INTEGER, true, null);
- addAttribute("PaletteEntry", "alpha", DATATYPE_INTEGER, false, "255");
-
- addElement("BackgroundIndex", "Chroma", CHILD_POLICY_EMPTY);
- addAttribute("BackgroundIndex", "value", DATATYPE_INTEGER, true, null);
-
- addElement("BackgroundColor", "Chroma", CHILD_POLICY_EMPTY);
- addAttribute("BackgroundColor", "red", DATATYPE_INTEGER, true, null);
- addAttribute("BackgroundColor", "green", DATATYPE_INTEGER, true, null);
- addAttribute("BackgroundColor", "blue", DATATYPE_INTEGER, true, null);
-
- // COMPRESSION
- addElement("Compression", standardMetadataFormatName, CHILD_POLICY_SOME);
-
- addElement("CompressionTypeName", "Compression", CHILD_POLICY_EMPTY);
- addAttribute("CompressionTypeName", "value", DATATYPE_STRING, true, null);
-
- addElement("Lossless", "Compression", CHILD_POLICY_EMPTY);
- addBooleanAttribute("Lossless", "value", true, true);
-
- addElement("NumProgressiveScans", "Compression", CHILD_POLICY_EMPTY);
- addAttribute("NumProgressiveScans", "value", DATATYPE_INTEGER, true, null);
-
- addElement("BitRate", "Compression", CHILD_POLICY_EMPTY);
- addAttribute("BitRate", "value", DATATYPE_FLOAT, true, null);
-
- // DATA
- addElement("Data", standardMetadataFormatName, CHILD_POLICY_SOME);
-
- addElement("PlanarConfiguration", "Data", CHILD_POLICY_EMPTY);
- values = new ArrayList<String>(4);
- values.add("PixelInterleaved");
- values.add("PlaneInterleaved");
- values.add("LineInterleaved");
- values.add("TileInterleaved");
- addAttribute("PlanarConfiguration", "value", DATATYPE_STRING, true, null, values);
-
- addElement("SampleFormat", "Data", CHILD_POLICY_EMPTY);
- values = new ArrayList<String>(4);
- values.add("SignedIntegral");
- values.add("UnsignedIntegral");
- values.add("Real");
- values.add("Index");
- addAttribute("SampleFormat", "value", DATATYPE_STRING, true, null, values);
-
- addElement("BitsPerSample", "Data", CHILD_POLICY_EMPTY);
- addAttribute("BitsPerSample", "value", DATATYPE_INTEGER, true, 1, Integer.MAX_VALUE); // list
-
- addElement("SignificantBitsPerSample", "Data", CHILD_POLICY_EMPTY);
- addAttribute("SignificantBitsPerSample", "value", DATATYPE_INTEGER, true, 1,
- Integer.MAX_VALUE); // list
-
- addElement("SampleMSB", "Data", CHILD_POLICY_EMPTY);
- addAttribute("SampleMSB", "value", DATATYPE_INTEGER, true, 1, Integer.MAX_VALUE); // list
-
- // DIMENSION
- addElement("Dimension", standardMetadataFormatName, CHILD_POLICY_SOME);
-
- addElement("PixelAspectRatio", "Dimension", CHILD_POLICY_EMPTY);
- addAttribute("PixelAspectRatio", "value", DATATYPE_FLOAT, true, null);
-
- addElement("ImageOrientation", "Dimension", CHILD_POLICY_EMPTY);
- values = new ArrayList<String>(8);
- values.add("Normal");
- values.add("Rotate90");
- values.add("Rotate180");
- values.add("Rotate270");
- values.add("FlipH");
- values.add("FlipV");
- values.add("FlipHRotate90");
- values.add("FlipVRotate90");
- addAttribute("ImageOrientation", "value", DATATYPE_STRING, true, null, values);
-
- addElement("HorizontalPixelSize", "Dimension", CHILD_POLICY_EMPTY);
- addAttribute("HorizontalPixelSize", "value", DATATYPE_FLOAT, true, null);
-
- addElement("VerticalPixelSize", "Dimension", CHILD_POLICY_EMPTY);
- addAttribute("VerticalPixelSize", "value", DATATYPE_FLOAT, true, null);
-
- addElement("HorizontalPhysicalPixelSpacing", "Dimension", CHILD_POLICY_EMPTY);
- addAttribute("HorizontalPhysicalPixelSpacing", "value", DATATYPE_FLOAT, true, null);
-
- addElement("VerticalPhysicalPixelSpacing", "Dimension", CHILD_POLICY_EMPTY);
- addAttribute("VerticalPhysicalPixelSpacing", "value", DATATYPE_FLOAT, true, null);
-
- addElement("HorizontalPosition", "Dimension", CHILD_POLICY_EMPTY);
- addAttribute("HorizontalPosition", "value", DATATYPE_FLOAT, true, null);
-
- addElement("VerticalPosition", "Dimension", CHILD_POLICY_EMPTY);
- addAttribute("VerticalPosition", "value", DATATYPE_FLOAT, true, null);
-
- addElement("HorizontalPixelOffset", "Dimension", CHILD_POLICY_EMPTY);
- addAttribute("HorizontalPixelOffset", "value", DATATYPE_INTEGER, true, null);
-
- addElement("VerticalPixelOffset", "Dimension", CHILD_POLICY_EMPTY);
- addAttribute("VerticalPixelOffset", "value", DATATYPE_INTEGER, true, null);
-
- addElement("HorizontalScreenSize", "Dimension", CHILD_POLICY_EMPTY);
- addAttribute("HorizontalScreenSize", "value", DATATYPE_INTEGER, true, null);
-
- addElement("VerticalScreenSize", "Dimension", CHILD_POLICY_EMPTY);
- addAttribute("VerticalScreenSize", "value", DATATYPE_INTEGER, true, null);
-
- // DOCUMENT
- addElement("Document", standardMetadataFormatName, CHILD_POLICY_SOME);
-
- addElement("FormatVersion", "Document", CHILD_POLICY_EMPTY);
- addAttribute("FormatVersion", "value", DATATYPE_STRING, true, null);
-
- addElement("SubimageInterpretation", "Document", CHILD_POLICY_EMPTY);
- values = new ArrayList<String>(14);
- values.add("Standalone");
- values.add("SinglePage");
- values.add("FullResolution");
- values.add("ReducedResolution");
- values.add("PyramidLayer");
- values.add("Preview");
- values.add("VolumeSlice");
- values.add("ObjectView");
- values.add("Panorama");
- values.add("AnimationFrame");
- values.add("TransparencyMask");
- values.add("CompositingLayer");
- values.add("SpectralSlice");
- values.add("Unknown");
- addAttribute("SubimageInterpretation", "value", DATATYPE_STRING, true, null, values);
-
- addElement("ImageCreationTime", "Document", CHILD_POLICY_EMPTY);
- addAttribute("ImageCreationTime", "year", DATATYPE_INTEGER, true, null);
- addAttribute("ImageCreationTime", "month", DATATYPE_INTEGER, true, null, "1", "12", true,
- true);
- addAttribute("ImageCreationTime", "day", DATATYPE_INTEGER, true, null, "1", "31", true,
- true);
- addAttribute("ImageCreationTime", "hour", DATATYPE_INTEGER, false, "0", "0", "23", true,
- true);
- addAttribute("ImageCreationTime", "minute", DATATYPE_INTEGER, false, "0", "0", "59", true,
- true);
- addAttribute("ImageCreationTime", "second", DATATYPE_INTEGER, false, "0", "0", "60", true,
- true);
-
- addElement("ImageModificationTime", "Document", CHILD_POLICY_EMPTY);
- addAttribute("ImageModificationTime", "year", DATATYPE_INTEGER, true, null);
- addAttribute("ImageModificationTime", "month", DATATYPE_INTEGER, true, null, "1", "12",
- true, true);
- addAttribute("ImageModificationTime", "day", DATATYPE_INTEGER, true, null, "1", "31", true,
- true);
- addAttribute("ImageModificationTime", "hour", DATATYPE_INTEGER, false, "0", "0", "23",
- true, true);
- addAttribute("ImageModificationTime", "minute", DATATYPE_INTEGER, false, "0", "0", "59",
- true, true);
- addAttribute("ImageModificationTime", "second", DATATYPE_INTEGER, false, "0", "0", "60",
- true, true);
-
- // TEXT
- addElement("Text", standardMetadataFormatName, 0, Integer.MAX_VALUE); // CHILD_POLICY_REPEAT
-
- addElement("TextEntry", "Text", CHILD_POLICY_EMPTY);
- addAttribute("TextEntry", "keyword", DATATYPE_STRING, false, null);
- addAttribute("TextEntry", "value", DATATYPE_STRING, true, null);
- addAttribute("TextEntry", "language", DATATYPE_STRING, false, null);
- addAttribute("TextEntry", "encoding", DATATYPE_STRING, false, null);
- values = new ArrayList<String>(5);
- values.add("none");
- values.add("lzw");
- values.add("zip");
- values.add("bzip");
- values.add("other");
- addAttribute("TextEntry", "compression", DATATYPE_STRING, false, "none", values);
-
- // TRANSPARENCY
- addElement("Transparency", standardMetadataFormatName, CHILD_POLICY_SOME);
-
- addElement("Alpha", "Transparency", CHILD_POLICY_EMPTY);
- values = new ArrayList<String>(3);
- values.add("none");
- values.add("premultiplied");
- values.add("nonpremultiplied");
- addAttribute("Alpha", "value", DATATYPE_STRING, false, "none", values);
-
- addElement("TransparentIndex", "Transparency", CHILD_POLICY_EMPTY);
- addAttribute("TransparentIndex", "value", DATATYPE_INTEGER, true, null);
-
- addElement("TransparentColor", "Transparency", CHILD_POLICY_EMPTY);
- addAttribute("TransparentColor", "value", DATATYPE_INTEGER, true, 0, Integer.MAX_VALUE);
-
- addElement("TileTransparencies", "Transparency", 0, Integer.MAX_VALUE); // CHILD_POLICY_REPEAT
-
- addElement("TransparentTile", "TileTransparencies", CHILD_POLICY_EMPTY);
- addAttribute("TransparentTile", "x", DATATYPE_INTEGER, true, null);
- addAttribute("TransparentTile", "y", DATATYPE_INTEGER, true, null);
-
- addElement("TileOpacities", "Transparency", 0, Integer.MAX_VALUE); // CHILD_POLICY_REPEAT
-
- addElement("OpaqueTile", "TileOpacities", CHILD_POLICY_EMPTY);
- addAttribute("OpaqueTile", "x", DATATYPE_INTEGER, true, null);
- addAttribute("OpaqueTile", "y", DATATYPE_INTEGER, true, null);
- }
-}
diff --git a/awt/javax/imageio/metadata/IIOStandardMetadataFormatResources.properties b/awt/javax/imageio/metadata/IIOStandardMetadataFormatResources.properties
deleted file mode 100644
index d185808..0000000
--- a/awt/javax/imageio/metadata/IIOStandardMetadataFormatResources.properties
+++ /dev/null
@@ -1,133 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Descriptions of elements and attributes of the plugin neutral metadata format
-# (see IIOStandardMetadataFormat)
-
-# Messages for EN locale
-Chroma=Chroma (color) information
-ColorSpaceType=The raw color space of the image
-ColorSpaceType/name=The raw color space of the image
-NumChannels=The number of channels in the raw image, including alpha
-NumChannels/value=The number of channels in the raw image, including alpha
-Gamma=The image gamma
-Gamma/value=The image gamma
-BlackIsZero=True if smaller values represent darker shades
-BlackIsZero/value=True if smaller values represent darker shades
-Palette=Palette-color information
-PaletteEntry=A palette entry
-PaletteEntry/index=The index of the palette entry
-PaletteEntry/red=The red value for the palette entry
-PaletteEntry/green=The green value for the palette entry
-PaletteEntry/blue=The blue value for the palette entry
-PaletteEntry/alpha=The alpha value for the palette entry
-BackgroundIndex=A palette index to be used as a background
-BackgroundIndex/value=A palette index to be used as a background
-BackgroundColor=An RGB triple to be used as a background
-BackgroundColor/red=The red background value
-BackgroundColor/green=The green background value
-BackgroundColor/blue=The blue background value
-
-Compression=Compression information
-CompressionTypeName=The name of the compression scheme in use
-CompressionTypeName/value=The name of the compression scheme in use
-Lossless=True if the compression scheme is lossless
-Lossless/value=True if the compression scheme is lossless
-NumProgressiveScans=The number of progressive scans used in the image encoding
-NumProgressiveScans/value=The number of progressive scans used in the image encoding
-BitRate=The estimated bit rate of the compression scheme
-BitRate/value=The estimated bit rate of the compression scheme
-
-Data=Information on the image layout
-PlanarConfiguration=The organization of image samples in the stream
-PlanarConfiguration/value=The organization of image samples in the stream
-SampleFormat=The numeric format of image samples
-SampleFormat/value=The numeric format of image samples
-BitsPerSample=The number of bits per sample
-BitsPerSample/value=A list of integers, one per channel
-SignificantBitsPerSample=The number of significant bits per sample
-SignificantBitsPerSample/value=A list of integers, one per channel
-SampleMSB=The position of the most significant bit of each sample
-SampleMSB/value=A list of integers, one per channel
-
-Dimension=Dimension information
-PixelAspectRatio=The width of a pixel divided by its height
-PixelAspectRatio/value=The width of a pixel divided by its height
-ImageOrientation=The desired orientation of the image in terms of flips and counter-clockwise rotations
-ImageOrientation/value=The desired orientation of the image in terms of flips and counter-clockwise rotations
-HorizontalPixelSize=The width of a pixel, in millimeters, as it should be rendered on media
-HorizontalPixelSize/value=The width of a pixel, in millimeters, as it should be rendered on media
-VerticalPixelSize=The height of a pixel, in millimeters, as it should be rendered on media
-VerticalPixelSize/value=The height of a pixel, in millimeters, as it should be rendered on media
-HorizontalPhysicalPixelSpacing=The horizontal distance in the subject of the image, in millimeters, represented by one pixel at the center of the image
-HorizontalPhysicalPixelSpacing/value=The horizontal distance in the subject of the image, in millimeters, represented by one pixel at the center of the image
-VerticalPhysicalPixelSpacing=The vertical distance in the subject of the image, in millimeters, represented by one pixel at the center of the image
-VerticalPhysicalPixelSpacing/value=The vertical distance in the subject of the image, in millimeters, represented by one pixel at the center of the image
-HorizontalPosition=The horizontal position, in millimeters, where the image should be rendered on media
-HorizontalPosition/value=The horizontal position, in millimeters, where the image should be rendered on media
-VerticalPosition=The vertical position, in millimeters, where the image should be rendered on media
-VerticalPosition/value=The vertical position, in millimeters, where the image should be rendered on media
-HorizontalPixelOffset=The horizonal position, in pixels, where the image should be rendered onto a raster display
-HorizontalPixelOffset/value=The horizonal position, in pixels, where the image should be rendered onto a raster display
-VerticalPixelOffset=The vertical position, in pixels, where the image should be rendered onto a raster display
-VerticalPixelOffset/value=The vertical position, in pixels, where the image should be rendered onto a raster display
-HorizontalScreenSize=The width, in pixels, of the raster display into which the image should be rendered
-HorizontalScreenSize/value=The width, in pixels, of the raster display into which the image should be rendered
-VerticalScreenSize=The height, in pixels, of the raster display into which the image should be rendered
-VerticalScreenSize/value=The height, in pixels, of the raster display into which the image should be rendered
-
-Document=Document information
-FormatVersion=The version of the format used by the stream
-FormatVersion/value=The version of the format used by the stream
-SubimageInterpretation=The interpretation of this image in relation to the other images stored in the same stream
-SubimageInterpretation/value=The interpretation of this image in relation to the other images stored in the same stream
-ImageCreationTime=The time of image creation
-ImageCreationTime/year=The full year (e.g., 1967, not 67)
-ImageCreationTime/month=The month, with January = 1
-ImageCreationTime/day=The day of the month
-ImageCreationTime/hour=The hour from 0 to 23
-ImageCreationTime/minute=The minute from 0 to 59
-ImageCreationTime/second=The second from 0 to 60 (60 = leap second)
-ImageModificationTime=The time of the last image modification
-ImageModificationTime/year=The full year (e.g., 1967, not 67)
-ImageModificationTime/month=The month, with January = 1
-ImageModificationTime/day=The day of the month
-ImageModificationTime/hour=The hour from 0 to 23
-ImageModificationTime/minute=The minute from 0 to 59
-ImageModificationTime/second=The second from 0 to 60 (60 = leap second)
-
-Text=Text information
-TextEntry=A text entry
-TextEntry/keyword=A keyword associated with the text entry
-TextEntry/value=the text entry
-TextEntry/language=The language of the text
-TextEntry/encoding=The encoding of the text
-TextEntry/compression=The method used to compress the text
-
-Transparency=Transparency information
-Alpha=The type of alpha information contained in the image
-Alpha/value=The type of alpha information contained in the image
-TransparentIndex=A palette index to be treated as transparent
-TransparentIndex/value=A palette index to be treated as transparent
-TransparentColor=An RGB color to be treated as transparent
-TransparentColor/value=An RGB color to be treated as transparent
-TileTransparencies=A list of completely transparent tiles
-TransparentTile=The index of a completely transparent tile
-TransparentTile/x=The tile's X index
-TransparentTile/y=The tile's Y index
-TileOpacities=A list of completely opaque tiles
-OpaqueTile=The index of a completely opaque tile
-OpaqueTile/x=The tile's X index
-OpaqueTile/y=The tile's Y index
diff --git a/awt/javax/imageio/metadata/package.html b/awt/javax/imageio/metadata/package.html
deleted file mode 100644
index 29bd51b..0000000
--- a/awt/javax/imageio/metadata/package.html
+++ /dev/null
@@ -1,8 +0,0 @@
-<html>
- <body>
- <p>
- This package contains classes which allows to read and write describing metadata of image files.
- </p>
- @since Android 1.0
- </body>
-</html>
diff --git a/awt/javax/imageio/package.html b/awt/javax/imageio/package.html
deleted file mode 100644
index 2fd6148..0000000
--- a/awt/javax/imageio/package.html
+++ /dev/null
@@ -1,8 +0,0 @@
-<html>
- <body>
- <p>
- This package contains classes and interfaces which provides an Image I/O API. The contained classes and interfaces allow reading and writing image files of different formats.
- </p>
- @since Android 1.0
- </body>
-</html>
diff --git a/awt/javax/imageio/plugins/bmp/BMPImageWriteParam.java b/awt/javax/imageio/plugins/bmp/BMPImageWriteParam.java
deleted file mode 100644
index ecfb20a..0000000
--- a/awt/javax/imageio/plugins/bmp/BMPImageWriteParam.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package javax.imageio.plugins.bmp;
-
-import javax.imageio.ImageWriteParam;
-import java.util.Locale;
-
-/**
- * The BMPImageWriteParam class allows encoding an image in BMP format.
- *
- * @since Android 1.0
- */
-public class BMPImageWriteParam extends ImageWriteParam {
-
- /**
- * The top down.
- */
- private boolean topDown; // Default is bottom-up
-
- /**
- * Instantiates a new BMPImageWriteParam with default values of all
- * parameters.
- */
- public BMPImageWriteParam() {
- this(null);
- }
-
- /**
- * Instantiates a new BMPImageWriteParam with the specified Locale.
- *
- * @param locale
- * the specified Locale.
- */
- public BMPImageWriteParam(Locale locale) {
- super(locale);
-
- // Set the compression
- canWriteCompressed = true;
- compressionTypes = new String[] {
- "BI_RGB", "BI_RLE8", "BI_RLE4", "BI_BITFIELDS"
- };
- compressionType = compressionTypes[0];
- }
-
- /**
- * Sets true if the data will be written in a top-down order, false
- * otherwise.
- *
- * @param topDown
- * the new top-down value.
- */
- public void setTopDown(boolean topDown) {
- this.topDown = topDown;
- }
-
- /**
- * Returns true if the data is written in top-down order, false otherwise.
- *
- * @return true if the data is written in top-down order, false otherwise.
- */
- public boolean isTopDown() {
- return topDown;
- }
-}
diff --git a/awt/javax/imageio/plugins/bmp/package.html b/awt/javax/imageio/plugins/bmp/package.html
deleted file mode 100644
index 9494a10..0000000
--- a/awt/javax/imageio/plugins/bmp/package.html
+++ /dev/null
@@ -1,8 +0,0 @@
-<html>
- <body>
- <p>
- This package contains auxiliary classes for the built-in BMP image plug-in.
- </p>
- @since Android 1.0
- </body>
-</html>
diff --git a/awt/javax/imageio/plugins/jpeg/JPEGHuffmanTable.java b/awt/javax/imageio/plugins/jpeg/JPEGHuffmanTable.java
deleted file mode 100644
index 67b504b..0000000
--- a/awt/javax/imageio/plugins/jpeg/JPEGHuffmanTable.java
+++ /dev/null
@@ -1,226 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package javax.imageio.plugins.jpeg;
-
-/**
- * The JPEGHuffmanTable class represents a single JPEG Huffman table. It
- * contains the standard tables from the JPEG specification.
- *
- * @since Android 1.0
- */
-public class JPEGHuffmanTable {
-
- /**
- * The standard DC luminance Huffman table .
- */
- public static final JPEGHuffmanTable StdDCLuminance = new JPEGHuffmanTable(new short[] {
- 0, 1, 5, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0
- }, new short[] {
- 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0x0A, 0x0B
- }, false);
-
- /**
- * The standard DC chrominance Huffman table.
- */
- public static final JPEGHuffmanTable StdDCChrominance = new JPEGHuffmanTable(new short[] {
- 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0
- }, new short[] {
- 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0x0A, 0x0B
- }, false);
-
- /**
- * The standard AC luminance Huffman table.
- */
- public static final JPEGHuffmanTable StdACLuminance = new JPEGHuffmanTable(new short[] {
- 0, 2, 1, 3, 3, 2, 4, 3, 5, 5, 4, 4, 0, 0, 1, 0x7D
- }, new short[] {
- 0x01, 0x02, 0x03, 0x00, 0x04, 0x11, 0x05, 0x12, 0x21, 0x31, 0x41, 0x06, 0x13, 0x51,
- 0x61, 0x07, 0x22, 0x71, 0x14, 0x32, 0x81, 0x91, 0xA1, 0x08, 0x23, 0x42, 0xB1, 0xC1,
- 0x15, 0x52, 0xD1, 0xF0, 0x24, 0x33, 0x62, 0x72, 0x82, 0x09, 0x0A, 0x16, 0x17, 0x18,
- 0x19, 0x1A, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39,
- 0x3A, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x53, 0x54, 0x55, 0x56, 0x57,
- 0x58, 0x59, 0x5A, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x73, 0x74, 0x75,
- 0x76, 0x77, 0x78, 0x79, 0x7A, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x92,
- 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9A, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7,
- 0xA8, 0xA9, 0xAA, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA, 0xC2, 0xC3,
- 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8,
- 0xD9, 0xDA, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xEA, 0xF1, 0xF2,
- 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 0xF8, 0xF9, 0xFA
- }, false);
-
- /**
- * The standard AC chrominance Huffman table.
- */
- public static final JPEGHuffmanTable StdACChrominance = new JPEGHuffmanTable(new short[] {
- 0, 2, 1, 2, 4, 4, 3, 4, 7, 5, 4, 4, 0, 1, 2, 0x77
- }, new short[] {
- 0x00, 0x01, 0x02, 0x03, 0x11, 0x04, 0x05, 0x21, 0x31, 0x06, 0x12, 0x41, 0x51, 0x07,
- 0x61, 0x71, 0x13, 0x22, 0x32, 0x81, 0x08, 0x14, 0x42, 0x91, 0xA1, 0xB1, 0xC1, 0x09,
- 0x23, 0x33, 0x52, 0xF0, 0x15, 0x62, 0x72, 0xD1, 0x0A, 0x16, 0x24, 0x34, 0xE1, 0x25,
- 0xF1, 0x17, 0x18, 0x19, 0x1A, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x35, 0x36, 0x37, 0x38,
- 0x39, 0x3A, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x53, 0x54, 0x55, 0x56,
- 0x57, 0x58, 0x59, 0x5A, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x73, 0x74,
- 0x75, 0x76, 0x77, 0x78, 0x79, 0x7A, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89,
- 0x8A, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9A, 0xA2, 0xA3, 0xA4, 0xA5,
- 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA,
- 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6,
- 0xD7, 0xD8, 0xD9, 0xDA, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xEA, 0xF2,
- 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 0xF8, 0xF9, 0xFA
- }, false);
-
- /**
- * The lengths.
- */
- private short lengths[];
-
- /**
- * The values.
- */
- private short values[];
-
- /**
- * Instantiates a new jPEG huffman table.
- *
- * @param lengths
- * the lengths
- * @param values
- * the values
- * @param copy
- * the copy
- */
- JPEGHuffmanTable(short[] lengths, short[] values, boolean copy) {
- // Construction of standard tables without checks
- // The third param is dummy
- // Could be also used for copying of the existing tables
- this.lengths = lengths;
- this.values = values;
- }
-
- /**
- * Instantiates a new JPEGHuffmanTable.
- *
- * @param lengths
- * the array of shorts lengths.
- * @param values
- * the array of shorts containing the values in order of
- * increasing code length.
- */
- public JPEGHuffmanTable(short[] lengths, short[] values) {
- if (lengths == null) {
- throw new IllegalArgumentException("lengths array is null!");
- }
- if (values == null) {
- throw new IllegalArgumentException("values array is null!");
- }
- if (lengths.length > 16) { // According to the spec
- throw new IllegalArgumentException("lengths array is too long!");
- }
- if (values.length > 256) { // According to the spec
- throw new IllegalArgumentException("values array is too long");
- }
- for (short length : lengths) {
- if (length < 0) {
- throw new IllegalArgumentException("Values in lengths array must be non-negative.");
- }
- }
- for (short value : values) {
- if (value < 0) {
- throw new IllegalArgumentException("Values in values array must be non-negative.");
- }
- }
-
- checkHuffmanTable(lengths, values);
-
- this.lengths = new short[lengths.length];
- this.values = new short[values.length];
- System.arraycopy(lengths, 0, this.lengths, 0, lengths.length);
- System.arraycopy(values, 0, this.values, 0, values.length);
- }
-
- /**
- * Gets an array of lengths in the Huffman table.
- *
- * @return the array of short values representing the length values in the
- * Huffman table.
- */
- public short[] getLengths() {
- short newLengths[] = new short[lengths.length];
- System.arraycopy(lengths, 0, newLengths, 0, lengths.length);
- return newLengths;
- }
-
- /**
- * Gets an array of values represented by increasing length of their codes.
- *
- * @return the array of values.
- */
- public short[] getValues() {
- short newValues[] = new short[values.length];
- System.arraycopy(values, 0, newValues, 0, values.length);
- return newValues;
- }
-
- /**
- * Check huffman table.
- *
- * @param lengths
- * the lengths.
- * @param values
- * the values.
- */
- private static void checkHuffmanTable(short[] lengths, short[] values) {
- int numLeaves = 0;
- int possibleLeaves = 2;
- for (short length : lengths) {
- numLeaves += length;
- possibleLeaves -= length;
- if (possibleLeaves < 0) {
- throw new IllegalArgumentException(
- "Invalid Huffman table provided, lengths are incorrect.");
- }
- possibleLeaves <<= 1;
- }
-
- if (values.length != numLeaves) {
- throw new IllegalArgumentException(
- "Invalid Huffman table provided, sum of lengths != values.");
- }
- }
-
- /**
- * Returns the string representation of this JPEGHuffmanTable object.
- *
- * @return the string representation of this JPEGHuffmanTable object.
- */
- @Override
- public String toString() {
- StringBuffer sb = new StringBuffer();
-
- sb.append("JPEGHuffmanTable:\nlengths:");
- for (short length : lengths) {
- sb.append(' ').append(length);
- }
-
- sb.append("\nvalues:");
- for (short value : values) {
- sb.append(' ').append(value);
- }
-
- return sb.toString();
- }
-}
diff --git a/awt/javax/imageio/plugins/jpeg/JPEGImageReadParam.java b/awt/javax/imageio/plugins/jpeg/JPEGImageReadParam.java
deleted file mode 100644
index 2f3a9a8..0000000
--- a/awt/javax/imageio/plugins/jpeg/JPEGImageReadParam.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package javax.imageio.plugins.jpeg;
-
-import javax.imageio.ImageReadParam;
-
-/**
- * The JPEGImageReadParam class provides functionality to set Huffman tables and
- * quantization tables when using the JPEG reader plug-in.
- *
- * @since Android 1.0
- */
-public class JPEGImageReadParam extends ImageReadParam {
-
- /**
- * The q tables.
- */
- private JPEGQTable qTables[];
-
- /**
- * The dc huffman tables.
- */
- private JPEGHuffmanTable dcHuffmanTables[];
-
- /**
- * The ac huffman tables.
- */
- private JPEGHuffmanTable acHuffmanTables[];
-
- /**
- * Instantiates a new JPEGImageReadParam.
- */
- public JPEGImageReadParam() {
- }
-
- /**
- * Returns true if tables are set, false otherwise.
- *
- * @return true, if tables are set, false otherwise.
- */
- public boolean areTablesSet() {
- return qTables != null;
- }
-
- /**
- * Sets the quantization and Huffman tables for using in decoding streams.
- *
- * @param qTables
- * the quantization tables.
- * @param DCHuffmanTables
- * the standart DC Huffman tables.
- * @param ACHuffmanTables
- * the standart AC huffman tables.
- */
- public void setDecodeTables(JPEGQTable[] qTables, JPEGHuffmanTable[] DCHuffmanTables,
- JPEGHuffmanTable[] ACHuffmanTables) {
- if (qTables == null || DCHuffmanTables == null || ACHuffmanTables == null) {
- throw new IllegalArgumentException("Invalid JPEG table arrays");
- }
- if (DCHuffmanTables.length != ACHuffmanTables.length) {
- throw new IllegalArgumentException("Invalid JPEG table arrays");
- }
- if (qTables.length > 4 || DCHuffmanTables.length > 4) {
- throw new IllegalArgumentException("Invalid JPEG table arrays");
- }
-
- // Do the shallow copy, it should be enough
- this.qTables = qTables.clone();
- dcHuffmanTables = DCHuffmanTables.clone();
- acHuffmanTables = ACHuffmanTables.clone();
- }
-
- /**
- * Unset all decoded tables.
- */
- public void unsetDecodeTables() {
- qTables = null;
- dcHuffmanTables = null;
- acHuffmanTables = null;
- }
-
- /**
- * Gets the quantization tables.
- *
- * @return the quantization tables, or null.
- */
- public JPEGQTable[] getQTables() {
- return qTables == null ? null : qTables.clone();
- }
-
- /**
- * Gets the DC Huffman tables.
- *
- * @return the DC Huffman tables which are set, or null.
- */
- public JPEGHuffmanTable[] getDCHuffmanTables() {
- return dcHuffmanTables == null ? null : dcHuffmanTables.clone();
- }
-
- /**
- * Gets the AC Huffman tables.
- *
- * @return the AC Huffman tables which are set, or null.
- */
- public JPEGHuffmanTable[] getACHuffmanTables() {
- return acHuffmanTables == null ? null : acHuffmanTables.clone();
- }
-}
diff --git a/awt/javax/imageio/plugins/jpeg/JPEGImageWriteParam.java b/awt/javax/imageio/plugins/jpeg/JPEGImageWriteParam.java
deleted file mode 100644
index b979911..0000000
--- a/awt/javax/imageio/plugins/jpeg/JPEGImageWriteParam.java
+++ /dev/null
@@ -1,209 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package javax.imageio.plugins.jpeg;
-
-import org.apache.harmony.x.imageio.plugins.jpeg.JPEGConsts;
-
-import javax.imageio.ImageWriteParam;
-import java.util.Locale;
-
-/**
- * The JPEGImageWriteParam class allows to set JPEG Huffman tables and
- * quantization when using the JPEG writer plug-in.
- *
- * @since Android 1.0
- */
-public class JPEGImageWriteParam extends ImageWriteParam {
-
- /**
- * The Constant COMP_QUALITY_VALUES.
- */
- private static final float[] COMP_QUALITY_VALUES = {
- 0.05f, 0.75f, 0.95f
- };
-
- /**
- * The Constant COMP_QUALITY_DESCRIPTIONS.
- */
- private static final String[] COMP_QUALITY_DESCRIPTIONS = {
- "Minimum useful", "Visually lossless", "Maximum useful"
- };
-
- /**
- * The q tables.
- */
- private JPEGQTable[] qTables;
-
- /**
- * The dc huffman tables.
- */
- private JPEGHuffmanTable[] dcHuffmanTables;
-
- /**
- * The ac huffman tables.
- */
- private JPEGHuffmanTable[] acHuffmanTables;
-
- /**
- * The optimize huffman tables.
- */
- private boolean optimizeHuffmanTables;
-
- /**
- * Instantiates a new JPEGImageWriteParam object with the specified Locale.
- *
- * @param locale
- * the Locale.
- */
- public JPEGImageWriteParam(Locale locale) {
- super(locale);
-
- canWriteProgressive = true;
- progressiveMode = ImageWriteParam.MODE_DISABLED;
-
- canWriteCompressed = true;
- compressionTypes = new String[] {
- "JPEG"
- };
- compressionType = compressionTypes[0];
- compressionQuality = JPEGConsts.DEFAULT_JPEG_COMPRESSION_QUALITY;
- }
-
- /**
- * Returns true if tables are set, false otherwise.
- *
- * @return true, if tables are set, false otherwise.
- */
- public boolean areTablesSet() {
- return qTables != null;
- }
-
- /**
- * Sets the quantization and Huffman tables for using in encoding streams.
- *
- * @param qTables
- * the quantization tables.
- * @param DCHuffmanTables
- * the standart DC Huffman tables.
- * @param ACHuffmanTables
- * the standart AC huffman tables.
- */
- public void setEncodeTables(JPEGQTable[] qTables, JPEGHuffmanTable[] DCHuffmanTables,
- JPEGHuffmanTable[] ACHuffmanTables) {
- if (qTables == null || DCHuffmanTables == null || ACHuffmanTables == null) {
- throw new IllegalArgumentException("Invalid JPEG table arrays");
- }
- if (DCHuffmanTables.length != ACHuffmanTables.length) {
- throw new IllegalArgumentException("Invalid JPEG table arrays");
- }
- if (qTables.length > 4 || DCHuffmanTables.length > 4) {
- throw new IllegalArgumentException("Invalid JPEG table arrays");
- }
-
- // Do the shallow copy, it should be enough
- this.qTables = qTables.clone();
- dcHuffmanTables = DCHuffmanTables.clone();
- acHuffmanTables = ACHuffmanTables.clone();
- }
-
- /**
- * Unset all encoded tables.
- */
- public void unsetEncodeTables() {
- qTables = null;
- dcHuffmanTables = null;
- acHuffmanTables = null;
- }
-
- /**
- * Gets the DC Huffman tables.
- *
- * @return the DC Huffman tables which are set, or null.
- */
- public JPEGHuffmanTable[] getDCHuffmanTables() {
- return dcHuffmanTables == null ? null : dcHuffmanTables.clone();
- }
-
- /**
- * Gets the AC Huffman tables.
- *
- * @return the AC Huffman tables which are set, or null.
- */
- public JPEGHuffmanTable[] getACHuffmanTables() {
- return acHuffmanTables == null ? null : acHuffmanTables.clone();
- }
-
- /**
- * Gets the quantization tables.
- *
- * @return the quantization tables, or null.
- */
- public JPEGQTable[] getQTables() {
- return qTables == null ? null : qTables.clone();
- }
-
- @Override
- public String[] getCompressionQualityDescriptions() {
- super.getCompressionQualityDescriptions();
- return COMP_QUALITY_DESCRIPTIONS.clone();
- }
-
- @Override
- public float[] getCompressionQualityValues() {
- super.getCompressionQualityValues();
- return COMP_QUALITY_VALUES.clone();
- }
-
- /**
- * Sets the flag indicated that the writer will generate optimized Huffman
- * tables for the image as part of the writing process.
- *
- * @param optimize
- * the flag of optimizing huffman tables.
- */
- public void setOptimizeHuffmanTables(boolean optimize) {
- optimizeHuffmanTables = optimize;
- }
-
- /**
- * Returns true if the writer generates optimized Huffman tables, false
- * otherwise.
- *
- * @return true, if the writer generates optimized Huffman tables, false
- * otherwise.
- */
- public boolean getOptimizeHuffmanTables() {
- return optimizeHuffmanTables;
- }
-
- @Override
- public boolean isCompressionLossless() {
- if (getCompressionMode() != MODE_EXPLICIT) {
- throw new IllegalStateException("Compression mode not MODE_EXPLICIT!");
- }
- return false;
- }
-
- @Override
- public void unsetCompression() {
- if (getCompressionMode() != MODE_EXPLICIT) {
- throw new IllegalStateException("Compression mode not MODE_EXPLICIT!");
- }
- compressionQuality = JPEGConsts.DEFAULT_JPEG_COMPRESSION_QUALITY;
- }
-}
diff --git a/awt/javax/imageio/plugins/jpeg/JPEGQTable.java b/awt/javax/imageio/plugins/jpeg/JPEGQTable.java
deleted file mode 100644
index 3461d46..0000000
--- a/awt/javax/imageio/plugins/jpeg/JPEGQTable.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/**
- * @author Rustem V. Rafikov
- * @version $Revision: 1.3 $
- */
-
-package javax.imageio.plugins.jpeg;
-
-/**
- * The JPEGQTable class represents a single JPEG quantization table and provides
- * for the standard tables taken from the JPEG specification.
- *
- * @since Android 1.0
- */
-public class JPEGQTable {
-
- /**
- * The Constant SIZE.
- */
- private final static int SIZE = 64;
-
- /**
- * The Constant BASELINE_MAX.
- */
- private final static int BASELINE_MAX = 255;
-
- /**
- * The Constant MAX.
- */
- private final static int MAX = 32767;
-
- /**
- * The table.
- */
- private int[] theTable;
-
- /*
- * K1 & K2 tables can be found in the JPEG format specification at
- * http://www.w3.org/Graphics/JPEG/itu-t81.pdf
- */
-
- /**
- * The Constant K1LumTable.
- */
- private static final int[] K1LumTable = new int[] {
- 16, 11, 10, 16, 24, 40, 51, 61, 12, 12, 14, 19, 26, 58, 60, 55, 14, 13, 16, 24, 40, 57,
- 69, 56, 14, 17, 22, 29, 51, 87, 80, 62, 18, 22, 37, 56, 68, 109, 103, 77, 24, 35, 55,
- 64, 81, 104, 113, 92, 49, 64, 78, 87, 103, 121, 120, 101, 72, 92, 95, 98, 112, 100,
- 103, 99
- };
-
- /**
- * The Constant K2ChrTable.
- */
- private static final int[] K2ChrTable = new int[] {
- 17, 18, 24, 47, 99, 99, 99, 99, 18, 21, 26, 66, 99, 99, 99, 99, 24, 26, 56, 99, 99, 99,
- 99, 99, 47, 66, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
- 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99
- };
-
- /**
- * The K1Luminance indicates standard table K.1 from JPEG specification and
- * produces "good" quality output.
- */
- public static final JPEGQTable K1Luminance = new JPEGQTable(K1LumTable);
-
- /**
- * The K1Div2Luminance indicates K.1 table from JPEG specification with all
- * elements divided by 2 and produces "very good" quality output.
- */
- public static final JPEGQTable K1Div2Luminance = K1Luminance.getScaledInstance(0.5f, true);
-
- /**
- * The K2Chrominance indicates K.2 table from JPEG specification and
- * produces "good" quality output.
- */
- public static final JPEGQTable K2Chrominance = new JPEGQTable(K2ChrTable);
-
- /**
- * The Constant K2Div2Chrominance indicates K.2 table from JPEG
- * specification with all elements divided by 2 and produces "very good"
- * quality output.
- */
- public static final JPEGQTable K2Div2Chrominance = K2Chrominance.getScaledInstance(0.5f, true);;
-
- /**
- * Instantiates a new JPEGQTable from the array, which should contain 64
- * elements in natural order.
- *
- * @param table
- * the quantization table.
- */
- public JPEGQTable(int[] table) {
- if (table == null) {
- throw new IllegalArgumentException("table should not be NULL");
- }
- if (table.length != SIZE) {
- throw new IllegalArgumentException("illegal table size: " + table.length);
- }
- theTable = table.clone();
- }
-
- /**
- * Gets the current quantization table as an array of integer values.
- *
- * @return the current quantization table as an array of integer values.
- */
- public int[] getTable() {
- return theTable.clone();
- }
-
- /**
- * Gets the scaled instance as quantization table where the values are
- * multiplied by the scaleFactor and then clamped if forceBaseline is true.
- *
- * @param scaleFactor
- * the scale factor of table.
- * @param forceBaseline
- * the force baseline flag, the values should be clamped if true.
- * @return the new quantization table.
- */
- public JPEGQTable getScaledInstance(float scaleFactor, boolean forceBaseline) {
- int table[] = new int[SIZE];
-
- int maxValue = forceBaseline ? BASELINE_MAX : MAX;
-
- for (int i = 0; i < theTable.length; i++) {
- int rounded = Math.round(theTable[i] * scaleFactor);
- if (rounded < 1) {
- rounded = 1;
- }
- if (rounded > maxValue) {
- rounded = maxValue;
- }
- table[i] = rounded;
- }
- return new JPEGQTable(table);
- }
-
- /**
- * Returns the string representation of this JPEGQTable object.
- *
- * @return the string representation of this JPEGQTable object.
- */
- @Override
- public String toString() {
- // -- TODO more informative info
- return "JPEGQTable";
- }
-}
diff --git a/awt/javax/imageio/plugins/jpeg/package.html b/awt/javax/imageio/plugins/jpeg/package.html
deleted file mode 100644
index 14575c4..0000000
--- a/awt/javax/imageio/plugins/jpeg/package.html
+++ /dev/null
@@ -1,8 +0,0 @@
-<html>
- <body>
- <p>
- This package contains auxiliary classes for the built-in JPEG image plug-in.
- </p>
- @since Android 1.0
- </body>
-</html>
diff --git a/awt/javax/imageio/spi/IIORegistry.java b/awt/javax/imageio/spi/IIORegistry.java
deleted file mode 100644
index 01ddeaa..0000000
--- a/awt/javax/imageio/spi/IIORegistry.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/**
- * @author Rustem V. Rafikov
- * @version $Revision: 1.3 $
- */
-
-package javax.imageio.spi;
-
-import java.util.Arrays;
-
-import org.apache.harmony.x.imageio.plugins.jpeg.JPEGImageReaderSpi;
-import org.apache.harmony.x.imageio.plugins.jpeg.JPEGImageWriterSpi;
-import org.apache.harmony.x.imageio.plugins.png.PNGImageReaderSpi;
-import org.apache.harmony.x.imageio.plugins.png.PNGImageWriterSpi;
-import org.apache.harmony.x.imageio.spi.FileIISSpi;
-import org.apache.harmony.x.imageio.spi.FileIOSSpi;
-import org.apache.harmony.x.imageio.spi.InputStreamIISSpi;
-import org.apache.harmony.x.imageio.spi.OutputStreamIOSSpi;
-import org.apache.harmony.x.imageio.spi.RAFIISSpi;
-import org.apache.harmony.x.imageio.spi.RAFIOSSpi;
-
-/*
- * @author Rustem V. Rafikov, Viskov Nikolay
- * @version $Revision: 1.3 $
- */
-
-/**
- * The IIORegistry class registers service provider instances (SPI). Service
- * provider instances are recognized by specific meta-information in the JAR
- * files containing them. The JAR files with SPI classes are loaded from the
- * application class path.
- *
- * @since Android 1.0
- */
-public final class IIORegistry extends ServiceRegistry {
-
- /**
- * The instance.
- */
- private static IIORegistry instance;
-
- /**
- * The Constant CATEGORIES.
- */
- private static final Class[] CATEGORIES = new Class[] {
- javax.imageio.spi.ImageWriterSpi.class, javax.imageio.spi.ImageReaderSpi.class,
- javax.imageio.spi.ImageInputStreamSpi.class,
- // javax.imageio.spi.ImageTranscoderSpi.class,
- javax.imageio.spi.ImageOutputStreamSpi.class
- };
-
- /**
- * Instantiates a new IIO registry.
- */
- private IIORegistry() {
- super(Arrays.<Class<?>> asList(CATEGORIES).iterator());
- registerBuiltinSpis();
- registerApplicationClasspathSpis();
- }
-
- /**
- * Register built-in SPIs.
- */
- private void registerBuiltinSpis() {
- registerServiceProvider(new JPEGImageWriterSpi());
- registerServiceProvider(new JPEGImageReaderSpi());
- registerServiceProvider(new PNGImageReaderSpi());
- registerServiceProvider(new PNGImageWriterSpi());
- registerServiceProvider(new FileIOSSpi());
- registerServiceProvider(new FileIISSpi());
- registerServiceProvider(new RAFIOSSpi());
- registerServiceProvider(new RAFIISSpi());
- registerServiceProvider(new OutputStreamIOSSpi());
- registerServiceProvider(new InputStreamIISSpi());
- // -- TODO implement
- }
-
- /**
- * Gets the default IIORegistry instance.
- *
- * @return the default IIORegistry instance.
- */
- public static IIORegistry getDefaultInstance() {
- // TODO implement own instance for each ThreadGroup (see also
- // ThreadLocal)
- synchronized (IIORegistry.class) {
- if (instance == null) {
- instance = new IIORegistry();
- }
- return instance;
- }
- }
-
- /**
- * Registers all service providers from the application class path.
- */
- public void registerApplicationClasspathSpis() {
- // -- TODO implement for non-builtin plugins
- }
-}
diff --git a/awt/javax/imageio/spi/IIOServiceProvider.java b/awt/javax/imageio/spi/IIOServiceProvider.java
deleted file mode 100644
index e947677..0000000
--- a/awt/javax/imageio/spi/IIOServiceProvider.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/**
- * @author Rustem V. Rafikov
- * @version $Revision: 1.3 $
- */
-
-package javax.imageio.spi;
-
-import java.util.Locale;
-
-/**
- * The IIOServiceProvider abstract class provides base functionality for ImageIO
- * service provider interfaces (SPIs).
- *
- * @since Android 1.0
- */
-public abstract class IIOServiceProvider implements RegisterableService {
-
- /**
- * The vendor name of this service provider.
- */
- protected String vendorName;
-
- /**
- * The version of this service provider.
- */
- protected String version;
-
- /**
- * Instantiates a new IIOServiceProvider.
- *
- * @param vendorName
- * the vendor name of service provider.
- * @param version
- * the version of service provider.
- */
- public IIOServiceProvider(String vendorName, String version) {
- if (vendorName == null) {
- throw new NullPointerException("vendor name cannot be NULL");
- }
- if (version == null) {
- throw new NullPointerException("version name cannot be NULL");
- }
- this.vendorName = vendorName;
- this.version = version;
- }
-
- /**
- * Instantiates a new IIOServiceProvider.
- */
- public IIOServiceProvider() {
- throw new UnsupportedOperationException("Not supported yet");
- }
-
- public void onRegistration(ServiceRegistry registry, Class<?> category) {
- // the default impl. does nothing
- }
-
- public void onDeregistration(ServiceRegistry registry, Class<?> category) {
- throw new UnsupportedOperationException("Not supported yet");
- }
-
- /**
- * Gets the vendor name of this service provider.
- *
- * @return the vendor name of this service provider.
- */
- public String getVendorName() {
- return vendorName;
- }
-
- /**
- * Gets the version of this service provider.
- *
- * @return the version of this service provider.
- */
- public String getVersion() {
- return version;
- }
-
- /**
- * Gets a description of this service provider. The result string should be
- * localized for the specified Locale.
- *
- * @param locale
- * the specified Locale.
- * @return the description of this service provider.
- */
- public abstract String getDescription(Locale locale);
-}
diff --git a/awt/javax/imageio/spi/ImageInputStreamSpi.java b/awt/javax/imageio/spi/ImageInputStreamSpi.java
deleted file mode 100644
index fc859a8..0000000
--- a/awt/javax/imageio/spi/ImageInputStreamSpi.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/**
- * @author Rustem V. Rafikov
- * @version $Revision: 1.3 $
- */
-
-package javax.imageio.spi;
-
-import java.io.File;
-import java.io.IOException;
-import javax.imageio.stream.ImageInputStream;
-
-/**
- * The ImageInputStreamSpi abstract class is a service provider interface (SPI)
- * for ImageInputStreams.
- *
- * @since Android 1.0
- */
-public abstract class ImageInputStreamSpi extends IIOServiceProvider implements RegisterableService {
-
- /**
- * The input class.
- */
- protected Class<?> inputClass;
-
- /**
- * Instantiates a new ImageInputStreamSpi.
- */
- protected ImageInputStreamSpi() {
- throw new UnsupportedOperationException("Not supported yet");
- }
-
- /**
- * Instantiates a new ImageInputStreamSpi.
- *
- * @param vendorName
- * the vendor name.
- * @param version
- * the version.
- * @param inputClass
- * the input class.
- */
- public ImageInputStreamSpi(String vendorName, String version, Class<?> inputClass) {
- super(vendorName, version);
- this.inputClass = inputClass;
- }
-
- /**
- * Gets an input Class object that represents class or interface that must
- * be implemented by an input source.
- *
- * @return the input class.
- */
- public Class<?> getInputClass() {
- return inputClass;
- }
-
- /**
- * Returns true if the ImageInputStream can use a cache file. If this method
- * returns false, the value of the useCache parameter of
- * createInputStreamInstance will be ignored. The default implementation
- * returns false.
- *
- * @return true, if the ImageInputStream can use a cache file, false
- * otherwise.
- */
- public boolean canUseCacheFile() {
- return false; // -- def
- }
-
- /**
- * Returns true if the ImageInputStream implementation requires the use of a
- * cache file. The default implementation returns false.
- *
- * @return true, if the ImageInputStream implementation requires the use of
- * a cache file, false otherwise.
- */
- public boolean needsCacheFile() {
- return false; // def
- }
-
- /**
- * Creates the ImageInputStream associated with this service provider. The
- * input object should be an instance of the class returned by the
- * getInputClass method. This method uses the specified directory for the
- * cache file if the useCache parameter is true.
- *
- * @param input
- * the input Object.
- * @param useCache
- * the flag indicating if a cache file is needed or not.
- * @param cacheDir
- * the cache directory.
- * @return the ImageInputStream.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public abstract ImageInputStream createInputStreamInstance(Object input, boolean useCache,
- File cacheDir) throws IOException;
-
- /**
- * Creates the ImageInputStream associated with this service provider. The
- * input object should be an instance of the class returned by getInputClass
- * method. This method uses the default system directory for the cache file,
- * if it is needed.
- *
- * @param input
- * the input Object.
- * @return the ImageInputStream.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public ImageInputStream createInputStreamInstance(Object input) throws IOException {
- return createInputStreamInstance(input, true, null);
- }
-}
diff --git a/awt/javax/imageio/spi/ImageOutputStreamSpi.java b/awt/javax/imageio/spi/ImageOutputStreamSpi.java
deleted file mode 100644
index b7a9a5c..0000000
--- a/awt/javax/imageio/spi/ImageOutputStreamSpi.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/**
- * @author Rustem V. Rafikov
- * @version $Revision: 1.3 $
- */
-
-package javax.imageio.spi;
-
-import javax.imageio.stream.ImageOutputStream;
-import java.io.IOException;
-import java.io.File;
-
-/**
- * The ImageOutputStreamSpi abstract class is a service provider interface (SPI)
- * for ImageOutputStreams.
- *
- * @since Android 1.0
- */
-public abstract class ImageOutputStreamSpi extends IIOServiceProvider implements
- RegisterableService {
-
- /**
- * The output class.
- */
- protected Class<?> outputClass;
-
- /**
- * Instantiates a new ImageOutputStreamSpi.
- */
- protected ImageOutputStreamSpi() {
- throw new UnsupportedOperationException("Not supported yet");
- }
-
- /**
- * Instantiates a new ImageOutputStreamSpi.
- *
- * @param vendorName
- * the vendor name.
- * @param version
- * the version.
- * @param outputClass
- * the output class.
- */
- public ImageOutputStreamSpi(String vendorName, String version, Class<?> outputClass) {
- super(vendorName, version);
- this.outputClass = outputClass;
- }
-
- /**
- * Gets an output Class object that represents the class or interface that
- * must be implemented by an output source.
- *
- * @return the output class.
- */
- public Class<?> getOutputClass() {
- return outputClass;
- }
-
- /**
- * Returns true if the ImageOutputStream can use a cache file. If this
- * method returns false, the value of the useCache parameter of
- * createOutputStreamInstance will be ignored. The default implementation
- * returns false.
- *
- * @return true, if the ImageOutputStream can use a cache file, false
- * otherwise.
- */
- public boolean canUseCacheFile() {
- return false; // def
- }
-
- /**
- * Returns true if the ImageOutputStream implementation requires the use of
- * a cache file. The default implementation returns false.
- *
- * @return true, if the ImageOutputStream implementation requires the use of
- * a cache file, false otherwise.
- */
- public boolean needsCacheFile() {
- return false; // def
- }
-
- /**
- * Creates the ImageOutputStream associated with this service provider. The
- * output object should be an instance of the class returned by
- * getOutputClass method. This method uses the default system directory for
- * the cache file, if it is needed.
- *
- * @param output
- * the output Object.
- * @return the ImageOutputStream.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public ImageOutputStream createOutputStreamInstance(Object output) throws IOException {
- return createOutputStreamInstance(output, true, null);
- }
-
- /**
- * Creates the ImageOutputStream associated with this service provider. The
- * output object should be an instance of the class returned by
- * getInputClass method. This method uses the specified directory for the
- * cache file, if the useCache parameter is true.
- *
- * @param output
- * the output Object.
- * @param useCache
- * the flag indicating if cache file is needed or not.
- * @param cacheDir
- * the cache directory.
- * @return the ImageOutputStream.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public abstract ImageOutputStream createOutputStreamInstance(Object output, boolean useCache,
- File cacheDir) throws IOException;
-}
diff --git a/awt/javax/imageio/spi/ImageReaderSpi.java b/awt/javax/imageio/spi/ImageReaderSpi.java
deleted file mode 100644
index 0528d25..0000000
--- a/awt/javax/imageio/spi/ImageReaderSpi.java
+++ /dev/null
@@ -1,204 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/**
- * @author Rustem V. Rafikov
- * @version $Revision: 1.3 $
- */
-
-package javax.imageio.spi;
-
-import javax.imageio.stream.ImageInputStream;
-import javax.imageio.ImageReader;
-import java.io.IOException;
-
-/**
- * The ImageReaderSpi abstract class is a service provider interface (SPI) for
- * ImageReaders.
- *
- * @since Android 1.0
- */
-public abstract class ImageReaderSpi extends ImageReaderWriterSpi {
-
- /**
- * The STANDARD_INPUT_TYPE contains ImageInputStream.class.
- */
- public static final Class[] STANDARD_INPUT_TYPE = new Class[] {
- ImageInputStream.class
- };
-
- /**
- * The input types.
- */
- protected Class[] inputTypes;
-
- /**
- * The writer SPI names.
- */
- protected String[] writerSpiNames;
-
- /**
- * Instantiates a new ImageReaderSpi.
- */
- protected ImageReaderSpi() {
- throw new UnsupportedOperationException("Not supported yet");
- }
-
- /**
- * Instantiates a new ImageReaderSpi.
- *
- * @param vendorName
- * the vendor name.
- * @param version
- * the version.
- * @param names
- * the format names.
- * @param suffixes
- * the array of strings representing the file suffixes.
- * @param MIMETypes
- * the an array of strings representing MIME types.
- * @param pluginClassName
- * the plug-in class name.
- * @param inputTypes
- * the input types.
- * @param writerSpiNames
- * the array of strings with class names of all associated
- * ImageWriters.
- * @param supportsStandardStreamMetadataFormat
- * the value indicating if stream metadata can be described by
- * standard metadata format.
- * @param nativeStreamMetadataFormatName
- * the native stream metadata format name, returned by
- * getNativeStreamMetadataFormatName.
- * @param nativeStreamMetadataFormatClassName
- * the native stream metadata format class name, returned by
- * getNativeStreamMetadataFormat.
- * @param extraStreamMetadataFormatNames
- * the extra stream metadata format names, returned by
- * getExtraStreamMetadataFormatNames.
- * @param extraStreamMetadataFormatClassNames
- * the extra stream metadata format class names, returned by
- * getStreamMetadataFormat.
- * @param supportsStandardImageMetadataFormat
- * the value indicating if image metadata can be described by
- * standard metadata format.
- * @param nativeImageMetadataFormatName
- * the native image metadata format name, returned by
- * getNativeImageMetadataFormatName.
- * @param nativeImageMetadataFormatClassName
- * the native image metadata format class name, returned by
- * getNativeImageMetadataFormat.
- * @param extraImageMetadataFormatNames
- * the extra image metadata format names, returned by
- * getExtraImageMetadataFormatNames.
- * @param extraImageMetadataFormatClassNames
- * the extra image metadata format class names, returned by
- * getImageMetadataFormat.
- */
- public ImageReaderSpi(String vendorName, String version, String[] names, String[] suffixes,
- String[] MIMETypes, String pluginClassName, Class[] inputTypes,
- String[] writerSpiNames, boolean supportsStandardStreamMetadataFormat,
- String nativeStreamMetadataFormatName, String nativeStreamMetadataFormatClassName,
- String[] extraStreamMetadataFormatNames, String[] extraStreamMetadataFormatClassNames,
- boolean supportsStandardImageMetadataFormat, String nativeImageMetadataFormatName,
- String nativeImageMetadataFormatClassName, String[] extraImageMetadataFormatNames,
- String[] extraImageMetadataFormatClassNames) {
- super(vendorName, version, names, suffixes, MIMETypes, pluginClassName,
- supportsStandardStreamMetadataFormat, nativeStreamMetadataFormatName,
- nativeStreamMetadataFormatClassName, extraStreamMetadataFormatNames,
- extraStreamMetadataFormatClassNames, supportsStandardImageMetadataFormat,
- nativeImageMetadataFormatName, nativeImageMetadataFormatClassName,
- extraImageMetadataFormatNames, extraImageMetadataFormatClassNames);
-
- if (inputTypes == null || inputTypes.length == 0) {
- throw new NullPointerException("input types array cannot be NULL or empty");
- }
- this.inputTypes = inputTypes;
- this.writerSpiNames = writerSpiNames;
- }
-
- /**
- * Gets an array of Class objects whose types can be used as input for this
- * reader.
- *
- * @return the input types.
- */
- public Class[] getInputTypes() {
- return inputTypes;
- }
-
- /**
- * Returns true if the format of source object is supported by this reader.
- *
- * @param source
- * the source object to be decoded (for example an
- * ImageInputStream).
- * @return true, if the format of source object is supported by this reader,
- * false otherwise.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public abstract boolean canDecodeInput(Object source) throws IOException;
-
- /**
- * Returns an instance of the ImageReader implementation for this service
- * provider.
- *
- * @return the ImageReader.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public ImageReader createReaderInstance() throws IOException {
- return createReaderInstance(null);
- }
-
- /**
- * Returns an instance of the ImageReader implementation for this service
- * provider.
- *
- * @param extension
- * the a plug-in specific extension object, or null.
- * @return the ImageReader.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public abstract ImageReader createReaderInstance(Object extension) throws IOException;
-
- /**
- * Checks whether or not the specified ImageReader object is an instance of
- * the ImageReader associated with this service provider or not.
- *
- * @param reader
- * the ImageReader.
- * @return true, if the specified ImageReader object is an instance of the
- * ImageReader associated with this service provider, false
- * otherwise.
- */
- public boolean isOwnReader(ImageReader reader) {
- throw new UnsupportedOperationException("Not supported yet");
- }
-
- /**
- * Gets an array of strings with names of the ImageWriterSpi classes that
- * support the internal metadata representation used by the ImageReader of
- * this service provider, or null if there are no such ImageWriters.
- *
- * @return the array of strings with names of the ImageWriterSpi classes.
- */
- public String[] getImageWriterSpiNames() {
- throw new UnsupportedOperationException("Not supported yet");
- }
-}
diff --git a/awt/javax/imageio/spi/ImageReaderWriterSpi.java b/awt/javax/imageio/spi/ImageReaderWriterSpi.java
deleted file mode 100644
index 9ca08b5..0000000
--- a/awt/javax/imageio/spi/ImageReaderWriterSpi.java
+++ /dev/null
@@ -1,344 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/**
- * @author Rustem V. Rafikov
- * @version $Revision: 1.3 $
- */
-
-package javax.imageio.spi;
-
-import org.apache.harmony.x.imageio.metadata.IIOMetadataUtils;
-
-import javax.imageio.metadata.IIOMetadataFormat;
-
-/**
- * The ImageReaderWriterSpi class is a superclass for the ImageReaderSpi and
- * ImageWriterSpi SPIs.
- *
- * @since Android 1.0
- */
-public abstract class ImageReaderWriterSpi extends IIOServiceProvider implements
- RegisterableService {
-
- /**
- * The names.
- */
- protected String[] names;
-
- /**
- * The suffixes.
- */
- protected String[] suffixes;
-
- /**
- * The MIME types.
- */
- protected String[] MIMETypes;
-
- /**
- * The plug-in class name.
- */
- protected String pluginClassName;
-
- /**
- * Whether the reader/writer supports standard stream metadata format.
- */
- protected boolean supportsStandardStreamMetadataFormat;
-
- /**
- * The native stream metadata format name.
- */
- protected String nativeStreamMetadataFormatName;
-
- /**
- * The native stream metadata format class name.
- */
- protected String nativeStreamMetadataFormatClassName;
-
- /**
- * The extra stream metadata format names.
- */
- protected String[] extraStreamMetadataFormatNames;
-
- /**
- * The extra stream metadata format class names.
- */
- protected String[] extraStreamMetadataFormatClassNames;
-
- /**
- * Whether the reader/writer supports standard image metadata format.
- */
- protected boolean supportsStandardImageMetadataFormat;
-
- /**
- * The native image metadata format name.
- */
- protected String nativeImageMetadataFormatName;
-
- /**
- * The native image metadata format class name.
- */
- protected String nativeImageMetadataFormatClassName;
-
- /**
- * The extra image metadata format names.
- */
- protected String[] extraImageMetadataFormatNames;
-
- /**
- * The extra image metadata format class names.
- */
- protected String[] extraImageMetadataFormatClassNames;
-
- /**
- * Instantiates a new ImageReaderWriterSpi.
- *
- * @param vendorName
- * the vendor name.
- * @param version
- * the version.
- * @param names
- * the format names.
- * @param suffixes
- * the array of strings representing the file suffixes.
- * @param MIMETypes
- * the an array of strings representing MIME types.
- * @param pluginClassName
- * the plug-in class name.
- * @param supportsStandardStreamMetadataFormat
- * the value indicating if stream metadata can be described by
- * standard metadata format.
- * @param nativeStreamMetadataFormatName
- * the native stream metadata format name, returned by
- * getNativeStreamMetadataFormatName.
- * @param nativeStreamMetadataFormatClassName
- * the native stream metadata format class name, returned by
- * getNativeStreamMetadataFormat.
- * @param extraStreamMetadataFormatNames
- * the extra stream metadata format names, returned by
- * getExtraStreamMetadataFormatNames.
- * @param extraStreamMetadataFormatClassNames
- * the extra stream metadata format class names, returned by
- * getStreamMetadataFormat.
- * @param supportsStandardImageMetadataFormat
- * the value indicating if image metadata can be described by
- * standard metadata format.
- * @param nativeImageMetadataFormatName
- * the native image metadata format name, returned by
- * getNativeImageMetadataFormatName.
- * @param nativeImageMetadataFormatClassName
- * the native image metadata format class name, returned by
- * getNativeImageMetadataFormat.
- * @param extraImageMetadataFormatNames
- * the extra image metadata format names, returned by
- * getExtraImageMetadataFormatNames.
- * @param extraImageMetadataFormatClassNames
- * the extra image metadata format class names, returned by
- * getImageMetadataFormat.
- */
- public ImageReaderWriterSpi(String vendorName, String version, String[] names,
- String[] suffixes, String[] MIMETypes, String pluginClassName,
- boolean supportsStandardStreamMetadataFormat, String nativeStreamMetadataFormatName,
- String nativeStreamMetadataFormatClassName, String[] extraStreamMetadataFormatNames,
- String[] extraStreamMetadataFormatClassNames,
- boolean supportsStandardImageMetadataFormat, String nativeImageMetadataFormatName,
- String nativeImageMetadataFormatClassName, String[] extraImageMetadataFormatNames,
- String[] extraImageMetadataFormatClassNames) {
- super(vendorName, version);
-
- if (names == null || names.length == 0) {
- throw new NullPointerException("format names array cannot be NULL or empty");
- }
-
- if (pluginClassName == null) {
- throw new NullPointerException("Plugin class name cannot be NULL");
- }
-
- // We clone all the arrays to be consistent with the fact that
- // some methods of this class must return clones of the arrays
- // as it is stated in the spec.
- this.names = names.clone();
- this.suffixes = suffixes == null ? null : suffixes.clone();
- this.MIMETypes = MIMETypes == null ? null : MIMETypes.clone();
- this.pluginClassName = pluginClassName;
- this.supportsStandardStreamMetadataFormat = supportsStandardStreamMetadataFormat;
- this.nativeStreamMetadataFormatName = nativeStreamMetadataFormatName;
- this.nativeStreamMetadataFormatClassName = nativeStreamMetadataFormatClassName;
-
- this.extraStreamMetadataFormatNames = extraStreamMetadataFormatNames == null ? null
- : extraStreamMetadataFormatNames.clone();
-
- this.extraStreamMetadataFormatClassNames = extraStreamMetadataFormatClassNames == null ? null
- : extraStreamMetadataFormatClassNames.clone();
-
- this.supportsStandardImageMetadataFormat = supportsStandardImageMetadataFormat;
- this.nativeImageMetadataFormatName = nativeImageMetadataFormatName;
- this.nativeImageMetadataFormatClassName = nativeImageMetadataFormatClassName;
-
- this.extraImageMetadataFormatNames = extraImageMetadataFormatNames == null ? null
- : extraImageMetadataFormatNames.clone();
-
- this.extraImageMetadataFormatClassNames = extraImageMetadataFormatClassNames == null ? null
- : extraImageMetadataFormatClassNames.clone();
- }
-
- /**
- * Instantiates a new ImageReaderWriterSpi.
- */
- public ImageReaderWriterSpi() {
- }
-
- /**
- * Gets an array of strings representing names of the formats that can be
- * used by the ImageReader or ImageWriter implementation associated with
- * this service provider.
- *
- * @return the array of supported format names.
- */
- public String[] getFormatNames() {
- return names.clone();
- }
-
- /**
- * Gets an array of strings representing file suffixes associated with the
- * formats that can be used by the ImageReader or ImageWriter implementation
- * of this service provider.
- *
- * @return the array of file suffixes.
- */
- public String[] getFileSuffixes() {
- return suffixes == null ? null : suffixes.clone();
- }
-
- /**
- * Gets an array of strings with the names of additional formats of the
- * image metadata objects produced or consumed by this plug-in.
- *
- * @return the array of extra image metadata format names.
- */
- public String[] getExtraImageMetadataFormatNames() {
- return extraImageMetadataFormatNames == null ? null : extraImageMetadataFormatNames.clone();
- }
-
- /**
- * Gets an array of strings with the names of additional formats of the
- * stream metadata objects produced or consumed by this plug-in.
- *
- * @return the array of extra stream metadata format names.
- */
- public String[] getExtraStreamMetadataFormatNames() {
- return extraStreamMetadataFormatNames == null ? null : extraStreamMetadataFormatNames
- .clone();
- }
-
- /**
- * Gets an IIOMetadataFormat object for the specified image metadata format
- * name.
- *
- * @param formatName
- * the format name.
- * @return the IIOMetadataFormat, or null.
- */
- public IIOMetadataFormat getImageMetadataFormat(String formatName) {
- return IIOMetadataUtils.instantiateMetadataFormat(formatName,
- supportsStandardImageMetadataFormat, nativeImageMetadataFormatName,
- nativeImageMetadataFormatClassName, extraImageMetadataFormatNames,
- extraImageMetadataFormatClassNames);
- }
-
- /**
- * Gets an IIOMetadataFormat object for the specified stream metadata format
- * name.
- *
- * @param formatName
- * the format name.
- * @return the IIOMetadataFormat, or null.
- */
- public IIOMetadataFormat getStreamMetadataFormat(String formatName) {
- return IIOMetadataUtils.instantiateMetadataFormat(formatName,
- supportsStandardStreamMetadataFormat, nativeStreamMetadataFormatName,
- nativeStreamMetadataFormatClassName, extraStreamMetadataFormatNames,
- extraStreamMetadataFormatClassNames);
- }
-
- /**
- * Gets an array of strings representing the MIME types of the formats that
- * are supported by the ImageReader or ImageWriter implementation of this
- * service provider.
- *
- * @return the array MIME types.
- */
- public String[] getMIMETypes() {
- return MIMETypes == null ? null : MIMETypes.clone();
- }
-
- /**
- * Gets the name of the native image metadata format for this reader/writer,
- * which allows for lossless encoding or decoding of the image metadata with
- * the format.
- *
- * @return the string with native image metadata format name, or null.
- */
- public String getNativeImageMetadataFormatName() {
- return nativeImageMetadataFormatName;
- }
-
- /**
- * Gets the name of the native stream metadata format for this
- * reader/writer, which allows for lossless encoding or decoding of the
- * stream metadata with the format.
- *
- * @return the string with native stream metadata format name, or null.
- */
- public String getNativeStreamMetadataFormatName() {
- return nativeStreamMetadataFormatName;
- }
-
- /**
- * Gets the class name of the ImageReader or ImageWriter associated with
- * this service provider.
- *
- * @return the class name.
- */
- public String getPluginClassName() {
- return pluginClassName;
- }
-
- /**
- * Checks if the standard metadata format is supported by the getAsTree and
- * setFromTree methods for the image metadata objects produced or consumed
- * by this reader or writer.
- *
- * @return true, if standard image metadata format is supported, false
- * otherwise.
- */
- public boolean isStandardImageMetadataFormatSupported() {
- return supportsStandardImageMetadataFormat;
- }
-
- /**
- * Checks if the standard metadata format is supported by the getAsTree and
- * setFromTree methods for the stream metadata objects produced or consumed
- * by this reader or writer.
- *
- * @return true, if standard stream metadata format is supported, false
- * otherwise.
- */
- public boolean isStandardStreamMetadataFormatSupported() {
- return supportsStandardStreamMetadataFormat;
- }
-}
diff --git a/awt/javax/imageio/spi/ImageTranscoderSpi.java b/awt/javax/imageio/spi/ImageTranscoderSpi.java
deleted file mode 100644
index 742af19..0000000
--- a/awt/javax/imageio/spi/ImageTranscoderSpi.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/**
- * @author Rustem V. Rafikov
- * @version $Revision: 1.3 $
- */
-
-package javax.imageio.spi;
-
-import javax.imageio.ImageTranscoder;
-
-/**
- * The ImageTranscoderSpi class is a service provider interface (SPI) for
- * ImageTranscoders.
- *
- * @since Android 1.0
- */
-public abstract class ImageTranscoderSpi extends IIOServiceProvider implements RegisterableService {
-
- /**
- * Instantiates a new ImageTranscoderSpi.
- */
- protected ImageTranscoderSpi() {
- }
-
- /**
- * Instantiates a new ImageTranscoderSpi with the specified vendor name and
- * version.
- *
- * @param vendorName
- * the vendor name.
- * @param version
- * the version.
- */
- public ImageTranscoderSpi(String vendorName, String version) {
- super(vendorName, version);
- }
-
- /**
- * Gets the class name of an ImageReaderSpi that produces IIOMetadata
- * objects that can be used as input to this transcoder.
- *
- * @return the class name of an ImageReaderSpi.
- */
- public abstract String getReaderServiceProviderName();
-
- /**
- * Gets the class name of an ImageWriterSpi that produces IIOMetadata
- * objects that can be used as input to this transcoder.
- *
- * @return the class name of an ImageWriterSpi.
- */
- public abstract String getWriterServiceProviderName();
-
- /**
- * Creates an instance of the ImageTranscoder associated with this service
- * provider.
- *
- * @return the ImageTranscoder instance.
- */
- public abstract ImageTranscoder createTranscoderInstance();
-}
diff --git a/awt/javax/imageio/spi/ImageWriterSpi.java b/awt/javax/imageio/spi/ImageWriterSpi.java
deleted file mode 100644
index bf25455..0000000
--- a/awt/javax/imageio/spi/ImageWriterSpi.java
+++ /dev/null
@@ -1,227 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/**
- * @author Rustem V. Rafikov
- * @version $Revision: 1.3 $
- */
-
-package javax.imageio.spi;
-
-import javax.imageio.stream.ImageInputStream;
-import javax.imageio.ImageTypeSpecifier;
-import javax.imageio.ImageWriter;
-import java.awt.image.RenderedImage;
-import java.io.IOException;
-
-/**
- * The ImageWriterSpi abstract class is a service provider interface (SPI) for
- * ImageWriters.
- *
- * @since Android 1.0
- */
-public abstract class ImageWriterSpi extends ImageReaderWriterSpi {
-
- /**
- * The STANDARD_OUTPUT_TYPE contains ImageInputStream.class.
- */
- public static final Class[] STANDARD_OUTPUT_TYPE = new Class[] {
- ImageInputStream.class
- };
-
- /**
- * The output types.
- */
- protected Class[] outputTypes;
-
- /**
- * The reader SPI names.
- */
- protected String[] readerSpiNames;
-
- /**
- * Instantiates a new ImageWriterSpi.
- */
- protected ImageWriterSpi() {
- throw new UnsupportedOperationException("Not supported yet");
- }
-
- /**
- * Instantiates a new ImageWriterSpi with the specified parameters.
- *
- * @param vendorName
- * the vendor name.
- * @param version
- * the version.
- * @param names
- * the format names.
- * @param suffixes
- * the array of strings representing the file suffixes.
- * @param MIMETypes
- * the an array of strings representing MIME types.
- * @param pluginClassName
- * the plug-in class name.
- * @param outputTypes
- * the output types.
- * @param readerSpiNames
- * the array of strings with class names of all associated
- * ImageReaders.
- * @param supportsStandardStreamMetadataFormat
- * the value indicating if stream metadata can be described by
- * standard metadata format.
- * @param nativeStreamMetadataFormatName
- * the native stream metadata format name, returned by
- * getNativeStreamMetadataFormatName.
- * @param nativeStreamMetadataFormatClassName
- * the native stream metadata format class name, returned by
- * getNativeStreamMetadataFormat.
- * @param extraStreamMetadataFormatNames
- * the extra stream metadata format names, returned by
- * getExtraStreamMetadataFormatNames.
- * @param extraStreamMetadataFormatClassNames
- * the extra stream metadata format class names, returned by
- * getStreamMetadataFormat.
- * @param supportsStandardImageMetadataFormat
- * the value indicating if image metadata can be described by
- * standard metadata format.
- * @param nativeImageMetadataFormatName
- * the native image metadata format name, returned by
- * getNativeImageMetadataFormatName.
- * @param nativeImageMetadataFormatClassName
- * the native image metadata format class name, returned by
- * getNativeImageMetadataFormat.
- * @param extraImageMetadataFormatNames
- * the extra image metadata format names, returned by
- * getExtraImageMetadataFormatNames.
- * @param extraImageMetadataFormatClassNames
- * the extra image metadata format class names, returned by
- * getImageMetadataFormat.
- */
- public ImageWriterSpi(String vendorName, String version, String[] names, String[] suffixes,
- String[] MIMETypes, String pluginClassName, Class[] outputTypes,
- String[] readerSpiNames, boolean supportsStandardStreamMetadataFormat,
- String nativeStreamMetadataFormatName, String nativeStreamMetadataFormatClassName,
- String[] extraStreamMetadataFormatNames, String[] extraStreamMetadataFormatClassNames,
- boolean supportsStandardImageMetadataFormat, String nativeImageMetadataFormatName,
- String nativeImageMetadataFormatClassName, String[] extraImageMetadataFormatNames,
- String[] extraImageMetadataFormatClassNames) {
- super(vendorName, version, names, suffixes, MIMETypes, pluginClassName,
- supportsStandardStreamMetadataFormat, nativeStreamMetadataFormatName,
- nativeStreamMetadataFormatClassName, extraStreamMetadataFormatNames,
- extraStreamMetadataFormatClassNames, supportsStandardImageMetadataFormat,
- nativeImageMetadataFormatName, nativeImageMetadataFormatClassName,
- extraImageMetadataFormatNames, extraImageMetadataFormatClassNames);
-
- if (outputTypes == null || outputTypes.length == 0) {
- throw new NullPointerException("output types array cannot be NULL or empty");
- }
-
- this.outputTypes = outputTypes;
- this.readerSpiNames = readerSpiNames;
- }
-
- /**
- * Returns true if the format of the writer's output is lossless. The
- * default implementation returns true.
- *
- * @return true, if a format is lossless, false otherwise.
- */
- public boolean isFormatLossless() {
- return true;
- }
-
- /**
- * Gets an array of Class objects whose types can be used as output for this
- * writer.
- *
- * @return the output types.
- */
- public Class[] getOutputTypes() {
- return outputTypes;
- }
-
- /**
- * Checks whether or not the ImageWriter implementation associated with this
- * service provider can encode an image with the specified type.
- *
- * @param type
- * the ImageTypeSpecifier.
- * @return true, if an image with the specified type can be encoded, false
- * otherwise.
- */
- public abstract boolean canEncodeImage(ImageTypeSpecifier type);
-
- /**
- * Checks whether or not the ImageWriter implementation associated with this
- * service provider can encode the specified RenderedImage.
- *
- * @param im
- * the RenderedImage.
- * @return true, if RenderedImage can be encoded, false otherwise.
- */
- public boolean canEncodeImage(RenderedImage im) {
- return canEncodeImage(ImageTypeSpecifier.createFromRenderedImage(im));
- }
-
- /**
- * Returns an instance of the ImageWriter implementation for this service
- * provider.
- *
- * @return the ImageWriter.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public ImageWriter createWriterInstance() throws IOException {
- return createWriterInstance(null);
- }
-
- /**
- * Returns an instance of the ImageWriter implementation for this service
- * provider.
- *
- * @param extension
- * the a plug-in specific extension object, or null.
- * @return the ImageWriter.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public abstract ImageWriter createWriterInstance(Object extension) throws IOException;
-
- /**
- * Checks whether or not the specified ImageWriter object is an instance of
- * the ImageWriter associated with this service provider or not.
- *
- * @param writer
- * the ImageWriter.
- * @return true, if the specified ImageWriter object is an instance of the
- * ImageWriter associated with this service provider, false
- * otherwise.
- */
- public boolean isOwnWriter(ImageWriter writer) {
- throw new UnsupportedOperationException("Not supported yet");
- }
-
- /**
- * Gets an array of strings with names of the ImageReaderSpi classes that
- * support the internal metadata representation used by the ImageWriter of
- * this service provider, or null if there are no such ImageReaders.
- *
- * @return the array of strings with names of the ImageWriterSpi classes.
- */
- public String[] getImageReaderSpiNames() {
- return readerSpiNames;
- }
-}
diff --git a/awt/javax/imageio/spi/RegisterableService.java b/awt/javax/imageio/spi/RegisterableService.java
deleted file mode 100644
index ae2f4d3..0000000
--- a/awt/javax/imageio/spi/RegisterableService.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/**
- * @author Rustem V. Rafikov
- * @version $Revision: 1.3 $
- */
-
-package javax.imageio.spi;
-
-/**
- * The RegisterableService interface provides service provider objects that can
- * be registered by a ServiceRegistry, and notifications that registration and
- * deregistration have been performed.
- *
- * @since Android 1.0
- */
-public interface RegisterableService {
-
- /**
- * This method is called when the object which implements this interface is
- * registered to the specified category of the specified registry.
- *
- * @param registry
- * the ServiceRegistry to be registered.
- * @param category
- * the class representing a category.
- */
- void onRegistration(ServiceRegistry registry, Class<?> category);
-
- /**
- * This method is called when the object which implements this interface is
- * deregistered to the specified category of the specified registry.
- *
- * @param registry
- * the ServiceRegistry to be registered.
- * @param category
- * the class representing a category.
- */
- void onDeregistration(ServiceRegistry registry, Class<?> category);
-}
diff --git a/awt/javax/imageio/spi/ServiceRegistry.java b/awt/javax/imageio/spi/ServiceRegistry.java
deleted file mode 100644
index 79b02a3..0000000
--- a/awt/javax/imageio/spi/ServiceRegistry.java
+++ /dev/null
@@ -1,552 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/**
- * @author Rustem V. Rafikov
- * @version $Revision: 1.3 $
- */
-
-package javax.imageio.spi;
-
-import java.util.*;
-import java.util.Map.Entry;
-
-/**
- * The ServiceRegistry class provides ability to register, deregister, look up
- * and obtain service provider instances (SPIs). A service means a set of
- * interfaces and classes, and a service provider is an implementation of a
- * service. Service providers can be associated with one or more categories.
- * Each category is defined by a class or interface. Only a single instance of a
- * each class is allowed to be registered as a category.
- *
- * @since Android 1.0
- */
-public class ServiceRegistry {
-
- /**
- * The categories.
- */
- CategoriesMap categories = new CategoriesMap(this);
-
- /**
- * Instantiates a new ServiceRegistry with the specified categories.
- *
- * @param categoriesIterator
- * an Iterator of Class objects for defining of categories.
- */
- public ServiceRegistry(Iterator<Class<?>> categoriesIterator) {
- if (null == categoriesIterator) {
- throw new IllegalArgumentException("categories iterator should not be NULL");
- }
- while (categoriesIterator.hasNext()) {
- Class<?> c = categoriesIterator.next();
- categories.addCategory(c);
- }
- }
-
- /**
- * Looks up and instantiates the available providers of this service using
- * the specified class loader.
- *
- * @param providerClass
- * the Class object of the provider to be looked up.
- * @param loader
- * the class loader to be used.
- * @return the iterator of providers objects for this service.
- */
- public static <T> Iterator<T> lookupProviders(Class<T> providerClass, ClassLoader loader) {
- throw new UnsupportedOperationException("Not supported yet");
- }
-
- /**
- * Looks up and instantiates the available providers of this service using
- * the context class loader.
- *
- * @param providerClass
- * the Class object of the provider to be looked up.
- * @return the iterator of providers objects for this service.
- */
- public static <T> Iterator<T> lookupProviders(Class<T> providerClass) {
- return lookupProviders(providerClass, Thread.currentThread().getContextClassLoader());
- }
-
- /**
- * Registers the specified service provider object in the specified
- * categories.
- *
- * @param provider
- * the specified provider to be registered.
- * @param category
- * the category.
- * @return true, if no provider of the same class is registered in this
- * category, false otherwise.
- */
- public <T> boolean registerServiceProvider(T provider, Class<T> category) {
- return categories.addProvider(provider, category);
- }
-
- /**
- * Registers a list of service providers.
- *
- * @param providers
- * the list of service providers.
- */
- public void registerServiceProviders(Iterator<?> providers) {
- for (Iterator<?> iterator = providers; iterator.hasNext();) {
- categories.addProvider(iterator.next(), null);
- }
- }
-
- /**
- * Registers the specified service provider object in all categories.
- *
- * @param provider
- * the service provider.
- */
- public void registerServiceProvider(Object provider) {
- categories.addProvider(provider, null);
- }
-
- /**
- * Deregisters the specifies service provider from the specified category.
- *
- * @param provider
- * the service provider to be deregistered.
- * @param category
- * the specified category.
- * @return true, if the provider was already registered in the specified
- * category, false otherwise.
- */
- public <T> boolean deregisterServiceProvider(T provider, Class<T> category) {
- throw new UnsupportedOperationException("Not supported yet");
- }
-
- /**
- * Deregisters the specified service provider from all categories.
- *
- * @param provider
- * the specified service provider.
- */
- public void deregisterServiceProvider(Object provider) {
- throw new UnsupportedOperationException("Not supported yet");
- }
-
- /**
- * Gets an Iterator of registered service providers in the specified
- * category which satisfy the specified Filter. The useOrdering parameter
- * indicates whether the iterator will return all of the server provider
- * objects in a set order.
- *
- * @param category
- * the specified category.
- * @param filter
- * the specified filter.
- * @param useOrdering
- * the flag indicating that providers are ordered in the returned
- * Iterator.
- * @return the iterator of registered service providers.
- */
- @SuppressWarnings("unchecked")
- public <T> Iterator<T> getServiceProviders(Class<T> category, Filter filter, boolean useOrdering) {
- return new FilteredIterator<T>(filter, (Iterator<T>)categories.getProviders(category,
- useOrdering));
- }
-
- /**
- * Gets an Iterator of all registered service providers in the specified
- * category. The useOrdering parameter indicates whether the iterator will
- * return all of the server provider objects in a set order.
- *
- * @param category
- * the specified category.
- * @param useOrdering
- * the flag indicating that providers are ordered in the returned
- * Iterator.
- * @return the Iterator of service providers.
- */
- @SuppressWarnings("unchecked")
- public <T> Iterator<T> getServiceProviders(Class<T> category, boolean useOrdering) {
- return (Iterator<T>)categories.getProviders(category, useOrdering);
- }
-
- /**
- * Gets the registered service provider object that has the specified class
- * type.
- *
- * @param providerClass
- * the specified provider class.
- * @return the service provider object.
- */
- public <T> T getServiceProviderByClass(Class<T> providerClass) {
- throw new UnsupportedOperationException("Not supported yet");
- }
-
- /**
- * Sets an ordering between two service provider objects within the
- * specified category.
- *
- * @param category
- * the specified category.
- * @param firstProvider
- * the first provider.
- * @param secondProvider
- * the second provider.
- * @return true, if a previously unset order was set.
- */
- public <T> boolean setOrdering(Class<T> category, T firstProvider, T secondProvider) {
- throw new UnsupportedOperationException("Not supported yet");
- }
-
- /**
- * Unsets an ordering between two service provider objects within the
- * specified category.
- *
- * @param category
- * the specified category.
- * @param firstProvider
- * the first provider.
- * @param secondProvider
- * the second provider.
- * @return true, if a previously unset order was removed.
- */
- public <T> boolean unsetOrdering(Class<T> category, T firstProvider, T secondProvider) {
- throw new UnsupportedOperationException("Not supported yet");
- }
-
- /**
- * Deregisters all providers from the specified category.
- *
- * @param category
- * the specified category.
- */
- public void deregisterAll(Class<?> category) {
- throw new UnsupportedOperationException("Not supported yet");
- }
-
- /**
- * Deregister all providers from all categories.
- */
- public void deregisterAll() {
- throw new UnsupportedOperationException("Not supported yet");
- }
-
- /**
- * Finalizes this object.
- *
- * @throws Throwable
- * if an error occurs during finalization.
- */
- @Override
- public void finalize() throws Throwable {
- // TODO uncomment when deregisterAll is implemented
- // deregisterAll();
- }
-
- /**
- * Checks whether the specified provider has been already registered.
- *
- * @param provider
- * the provider to be checked.
- * @return true, if the specified provider has been already registered,
- * false otherwise.
- */
- public boolean contains(Object provider) {
- throw new UnsupportedOperationException("Not supported yet");
- }
-
- /**
- * Gets an iterator of Class objects representing the current categories.
- *
- * @return the Iterator of Class objects.
- */
- public Iterator<Class<?>> getCategories() {
- return categories.list();
- }
-
- /**
- * The ServiceRegistry.Filter interface is used by
- * ServiceRegistry.getServiceProviders to filter providers according to the
- * specified criterion.
- *
- * @since Android 1.0
- */
- public static interface Filter {
-
- /**
- * Returns true if the specified provider satisfies the criterion of
- * this Filter.
- *
- * @param provider
- * the provider.
- * @return true, if the specified provider satisfies the criterion of
- * this Filter, false otherwise.
- */
- boolean filter(Object provider);
- }
-
- /**
- * The Class CategoriesMap.
- */
- private static class CategoriesMap {
-
- /**
- * The categories.
- */
- Map<Class<?>, ProvidersMap> categories = new HashMap<Class<?>, ProvidersMap>();
-
- /**
- * The registry.
- */
- ServiceRegistry registry;
-
- /**
- * Instantiates a new categories map.
- *
- * @param registry
- * the registry.
- */
- public CategoriesMap(ServiceRegistry registry) {
- this.registry = registry;
- }
-
- // -- TODO: useOrdering
- /**
- * Gets the providers.
- *
- * @param category
- * the category.
- * @param useOrdering
- * the use ordering.
- * @return the providers.
- */
- Iterator<?> getProviders(Class<?> category, boolean useOrdering) {
- ProvidersMap providers = categories.get(category);
- if (null == providers) {
- throw new IllegalArgumentException("Unknown category: " + category);
- }
- return providers.getProviders(useOrdering);
- }
-
- /**
- * List.
- *
- * @return the iterator< class<?>>.
- */
- Iterator<Class<?>> list() {
- return categories.keySet().iterator();
- }
-
- /**
- * Adds the category.
- *
- * @param category
- * the category.
- */
- void addCategory(Class<?> category) {
- categories.put(category, new ProvidersMap());
- }
-
- /**
- * Adds a provider to the category. If <code>category</code> is
- * <code>null</code> then the provider will be added to all categories
- * which the provider is assignable from.
- *
- * @param provider
- * provider to add.
- * @param category
- * category to add provider to.
- * @return true, if there were such provider in some category.
- */
- boolean addProvider(Object provider, Class<?> category) {
- if (provider == null) {
- throw new IllegalArgumentException("provider should be != NULL");
- }
-
- boolean rt;
- if (category == null) {
- rt = findAndAdd(provider);
- } else {
- rt = addToNamed(provider, category);
- }
-
- if (provider instanceof RegisterableService) {
- ((RegisterableService)provider).onRegistration(registry, category);
- }
-
- return rt;
- }
-
- /**
- * Adds the to named.
- *
- * @param provider
- * the provider.
- * @param category
- * the category.
- * @return true, if successful.
- */
- private boolean addToNamed(Object provider, Class<?> category) {
- Object obj = categories.get(category);
-
- if (null == obj) {
- throw new IllegalArgumentException("Unknown category: " + category);
- }
-
- return ((ProvidersMap)obj).addProvider(provider);
- }
-
- /**
- * Find and add.
- *
- * @param provider
- * the provider.
- * @return true, if successful.
- */
- private boolean findAndAdd(Object provider) {
- boolean rt = false;
- for (Entry<Class<?>, ProvidersMap> e : categories.entrySet()) {
- if (e.getKey().isAssignableFrom(provider.getClass())) {
- rt |= e.getValue().addProvider(provider);
- }
- }
- return rt;
- }
- }
-
- /**
- * The Class ProvidersMap.
- */
- private static class ProvidersMap {
- // -- TODO: providers ordering support
-
- /**
- * The providers.
- */
- Map<Class<?>, Object> providers = new HashMap<Class<?>, Object>();
-
- /**
- * Adds the provider.
- *
- * @param provider
- * the provider.
- * @return true, if successful.
- */
- boolean addProvider(Object provider) {
- return providers.put(provider.getClass(), provider) != null;
- }
-
- /**
- * Gets the provider classes.
- *
- * @return the provider classes.
- */
- Iterator<Class<?>> getProviderClasses() {
- return providers.keySet().iterator();
- }
-
- // -- TODO ordering
- /**
- * Gets the providers.
- *
- * @param userOrdering
- * the user ordering.
- * @return the providers.
- */
- Iterator<?> getProviders(boolean userOrdering) {
- return providers.values().iterator();
- }
- }
-
- /**
- * The Class FilteredIterator.
- */
- private static class FilteredIterator<E> implements Iterator<E> {
-
- /**
- * The filter.
- */
- private Filter filter;
-
- /**
- * The backend.
- */
- private Iterator<E> backend;
-
- /**
- * The next obj.
- */
- private E nextObj;
-
- /**
- * Instantiates a new filtered iterator.
- *
- * @param filter
- * the filter.
- * @param backend
- * the backend.
- */
- public FilteredIterator(Filter filter, Iterator<E> backend) {
- this.filter = filter;
- this.backend = backend;
- findNext();
- }
-
- /**
- * Next.
- *
- * @return the e.
- */
- public E next() {
- if (nextObj == null) {
- throw new NoSuchElementException();
- }
- E tmp = nextObj;
- findNext();
- return tmp;
- }
-
- /**
- * Checks for next.
- *
- * @return true, if successful.
- */
- public boolean hasNext() {
- return nextObj != null;
- }
-
- /**
- * Removes the.
- */
- public void remove() {
- throw new UnsupportedOperationException();
- }
-
- /**
- * Sets nextObj to a next provider matching the criterion given by the
- * filter.
- */
- private void findNext() {
- nextObj = null;
- while (backend.hasNext()) {
- E o = backend.next();
- if (filter.filter(o)) {
- nextObj = o;
- return;
- }
- }
- }
- }
-}
diff --git a/awt/javax/imageio/spi/package.html b/awt/javax/imageio/spi/package.html
deleted file mode 100644
index 18ceff4..0000000
--- a/awt/javax/imageio/spi/package.html
+++ /dev/null
@@ -1,8 +0,0 @@
-<html>
- <body>
- <p>
- This package provides several Service Provider Interface (SPI) classes for readers, writers, transcoders and streams to handle images.
- </p>
- @since Android 1.0
- </body>
-</html>
diff --git a/awt/javax/imageio/stream/FileCacheImageInputStream.java b/awt/javax/imageio/stream/FileCacheImageInputStream.java
deleted file mode 100644
index 710ac66..0000000
--- a/awt/javax/imageio/stream/FileCacheImageInputStream.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package javax.imageio.stream;
-
-import java.io.*;
-
-/**
- * The FileCacheImageInputStream class is an implementation of ImageInputStream
- * which reads from its InputStream and uses a temporary file as a cache.
- *
- * @since Android 1.0
- */
-public class FileCacheImageInputStream extends ImageInputStreamImpl {
-
- /**
- * The is.
- */
- private InputStream is;
-
- /**
- * The file.
- */
- private File file;
-
- /**
- * The raf.
- */
- private RandomAccessFile raf;
-
- /**
- * Instantiates a new FileCacheImageInputStream from the specified
- * InputStream and using the specified File as its cache directory.
- *
- * @param stream
- * the InputStream for reading.
- * @param cacheDir
- * the cache directory where the cache file will be created.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public FileCacheImageInputStream(InputStream stream, File cacheDir) throws IOException {
- if (stream == null) {
- throw new IllegalArgumentException("stream == null!");
- }
- is = stream;
-
- if (cacheDir == null || cacheDir.isDirectory()) {
- file = File.createTempFile(FileCacheImageOutputStream.IIO_TEMP_FILE_PREFIX, null,
- cacheDir);
- file.deleteOnExit();
- } else {
- throw new IllegalArgumentException("Not a directory!");
- }
-
- raf = new RandomAccessFile(file, "rw");
- }
-
- @Override
- public int read() throws IOException {
- bitOffset = 0;
-
- if (streamPos >= raf.length()) {
- int b = is.read();
-
- if (b < 0) {
- return -1;
- }
-
- raf.seek(streamPos++);
- raf.write(b);
- return b;
- }
-
- raf.seek(streamPos++);
- return raf.read();
- }
-
- @Override
- public int read(byte[] b, int off, int len) throws IOException {
- bitOffset = 0;
-
- if (streamPos >= raf.length()) {
- int nBytes = is.read(b, off, len);
-
- if (nBytes < 0) {
- return -1;
- }
-
- raf.seek(streamPos);
- raf.write(b, off, nBytes);
- streamPos += nBytes;
- return nBytes;
- }
-
- raf.seek(streamPos);
- int nBytes = raf.read(b, off, len);
- streamPos += nBytes;
- return nBytes;
- }
-
- @Override
- public boolean isCached() {
- return true;
- }
-
- @Override
- public boolean isCachedFile() {
- return true;
- }
-
- @Override
- public boolean isCachedMemory() {
- return false;
- }
-
- @Override
- public void close() throws IOException {
- super.close();
- raf.close();
- file.delete();
- }
-}
diff --git a/awt/javax/imageio/stream/FileCacheImageOutputStream.java b/awt/javax/imageio/stream/FileCacheImageOutputStream.java
deleted file mode 100644
index 135afab..0000000
--- a/awt/javax/imageio/stream/FileCacheImageOutputStream.java
+++ /dev/null
@@ -1,196 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package javax.imageio.stream;
-
-import java.io.IOException;
-import java.io.File;
-import java.io.OutputStream;
-import java.io.RandomAccessFile;
-
-/**
- * The FileCacheImageOutputStream class is an implementation of
- * ImageOutputStream that writes to its OutputStream using a temporary file as a
- * cache.
- *
- * @since Android 1.0
- */
-public class FileCacheImageOutputStream extends ImageOutputStreamImpl {
-
- /**
- * The Constant IIO_TEMP_FILE_PREFIX.
- */
- static final String IIO_TEMP_FILE_PREFIX = "iioCache";
-
- /**
- * The Constant MAX_BUFFER_LEN.
- */
- static final int MAX_BUFFER_LEN = 1048575; // 1 MB - is it not too much?
-
- /**
- * The os.
- */
- private OutputStream os;
-
- /**
- * The file.
- */
- private File file;
-
- /**
- * The raf.
- */
- private RandomAccessFile raf;
-
- /**
- * Instantiates a FileCacheImageOutputStream.
- *
- * @param stream
- * the OutputStream for writing.
- * @param cacheDir
- * the cache directory where the cache file will be created.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public FileCacheImageOutputStream(OutputStream stream, File cacheDir) throws IOException {
- if (stream == null) {
- throw new IllegalArgumentException("stream == null!");
- }
- os = stream;
-
- if (cacheDir == null || cacheDir.isDirectory()) {
- file = File.createTempFile(IIO_TEMP_FILE_PREFIX, null, cacheDir);
- file.deleteOnExit();
- } else {
- throw new IllegalArgumentException("Not a directory!");
- }
-
- raf = new RandomAccessFile(file, "rw");
- }
-
- @Override
- public void close() throws IOException {
- flushBefore(raf.length());
- super.close();
- raf.close();
- file.delete();
- }
-
- @Override
- public boolean isCached() {
- return true;
- }
-
- @Override
- public boolean isCachedFile() {
- return true;
- }
-
- @Override
- public boolean isCachedMemory() {
- return false;
- }
-
- @Override
- public void write(int b) throws IOException {
- flushBits(); // See the flushBits method description
-
- raf.write(b);
- streamPos++;
- }
-
- @Override
- public void write(byte[] b, int off, int len) throws IOException {
- flushBits(); // See the flushBits method description
-
- raf.write(b, off, len);
- streamPos += len;
- }
-
- @Override
- public int read() throws IOException {
- bitOffset = 0; // Should reset
-
- int res = raf.read();
- if (res >= 0) {
- streamPos++;
- }
-
- return res;
- }
-
- @Override
- public int read(byte[] b, int off, int len) throws IOException {
- bitOffset = 0;
-
- int numRead = raf.read(b, off, len);
- if (numRead > 0) {
- streamPos += numRead;
- }
-
- return numRead;
- }
-
- @Override
- public void flushBefore(long pos) throws IOException {
- long readFromPos = flushedPos;
- super.flushBefore(pos);
-
- long bytesToRead = pos - readFromPos;
- raf.seek(readFromPos);
-
- if (bytesToRead < MAX_BUFFER_LEN) {
- byte buffer[] = new byte[(int)bytesToRead];
- raf.readFully(buffer);
- os.write(buffer);
- } else {
- byte buffer[] = new byte[MAX_BUFFER_LEN];
- while (bytesToRead > 0) {
- int count = (int)Math.min(MAX_BUFFER_LEN, bytesToRead);
- raf.readFully(buffer, 0, count);
- os.write(buffer, 0, count);
- bytesToRead -= count;
- }
- }
-
- os.flush();
-
- if (pos != streamPos) {
- raf.seek(streamPos); // Reset the position
- }
- }
-
- @Override
- public void seek(long pos) throws IOException {
- if (pos < flushedPos) {
- throw new IndexOutOfBoundsException();
- }
-
- raf.seek(pos);
- streamPos = raf.getFilePointer();
- bitOffset = 0;
- }
-
- @Override
- public long length() {
- try {
- return raf.length();
- } catch (IOException e) {
- return -1L;
- }
- }
-}
diff --git a/awt/javax/imageio/stream/FileImageInputStream.java b/awt/javax/imageio/stream/FileImageInputStream.java
deleted file mode 100644
index b9b6002..0000000
--- a/awt/javax/imageio/stream/FileImageInputStream.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package javax.imageio.stream;
-
-import java.io.IOException;
-import java.io.RandomAccessFile;
-import java.io.File;
-import java.io.FileNotFoundException;
-
-/**
- * The FileImageInputStream class implements ImageInputStream and obtains its
- * input data from a File or RandomAccessFile.
- *
- * @since Android 1.0
- */
-public class FileImageInputStream extends ImageInputStreamImpl {
-
- /**
- * The raf.
- */
- RandomAccessFile raf;
-
- /**
- * Instantiates a new FileImageInputStream from the specified File.
- *
- * @param f
- * the File of input data.
- * @throws FileNotFoundException
- * if the specified file doesn't exist.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- @SuppressWarnings( {
- "DuplicateThrows"
- })
- public FileImageInputStream(File f) throws FileNotFoundException, IOException {
- if (f == null) {
- throw new IllegalArgumentException("f == null!");
- }
-
- raf = new RandomAccessFile(f, "r");
- }
-
- /**
- * Instantiates a new FileImageInputStream from the specified
- * RandomAccessFile.
- *
- * @param raf
- * the RandomAccessFile of input data.
- */
- public FileImageInputStream(RandomAccessFile raf) {
- if (raf == null) {
- throw new IllegalArgumentException("raf == null!");
- }
-
- this.raf = raf;
- }
-
- @Override
- public int read() throws IOException {
- bitOffset = 0;
-
- int res = raf.read();
- if (res != -1) {
- streamPos++;
- }
- return res;
- }
-
- @Override
- public int read(byte[] b, int off, int len) throws IOException {
- bitOffset = 0;
-
- int numRead = raf.read(b, off, len);
- if (numRead >= 0) {
- streamPos += numRead;
- }
-
- return numRead;
- }
-
- @Override
- public long length() {
- try {
- return raf.length();
- } catch (IOException e) {
- return -1L;
- }
- }
-
- @Override
- public void seek(long pos) throws IOException {
- if (pos < getFlushedPosition()) {
- throw new IndexOutOfBoundsException();
- }
-
- raf.seek(pos);
- streamPos = raf.getFilePointer();
- bitOffset = 0;
- }
-
- @Override
- public void close() throws IOException {
- super.close();
- raf.close();
- }
-}
diff --git a/awt/javax/imageio/stream/FileImageOutputStream.java b/awt/javax/imageio/stream/FileImageOutputStream.java
deleted file mode 100644
index 2730ba6..0000000
--- a/awt/javax/imageio/stream/FileImageOutputStream.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/**
- * @author Rustem V. Rafikov
- * @version $Revision: 1.3 $
- */
-
-package javax.imageio.stream;
-
-import java.io.*;
-
-/**
- * The FileImageOutputStream class implements ImageOutputStream and writes the
- * output data to a File or RandomAccessFile.
- *
- * @since Android 1.0
- */
-public class FileImageOutputStream extends ImageOutputStreamImpl {
-
- /**
- * The file.
- */
- RandomAccessFile file;
-
- /**
- * Instantiates a new FileImageOutputStream with the specified File.
- *
- * @param f
- * the output File.
- * @throws FileNotFoundException
- * if the file not found.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- public FileImageOutputStream(File f) throws FileNotFoundException, IOException {
- this(f != null ? new RandomAccessFile(f, "rw") : null);
- }
-
- /**
- * Instantiates a new FileImageOutputStream with the specified
- * RandomAccessFile.
- *
- * @param raf
- * the output RandomAccessFile.
- */
- public FileImageOutputStream(RandomAccessFile raf) {
- if (raf == null) {
- throw new IllegalArgumentException("file should not be NULL");
- }
- file = raf;
- }
-
- @Override
- public void write(int b) throws IOException {
- checkClosed();
- // according to the spec for ImageOutputStreamImpl#flushBits()
- flushBits();
- file.write(b);
- streamPos++;
- }
-
- @Override
- public void write(byte[] b, int off, int len) throws IOException {
- checkClosed();
- // according to the spec for ImageOutputStreamImpl#flushBits()
- flushBits();
- file.write(b, off, len);
- streamPos += len;
- }
-
- @Override
- public int read() throws IOException {
- checkClosed();
- int rt = file.read();
- if (rt != -1) {
- streamPos++;
- }
- return rt;
- }
-
- @Override
- public int read(byte[] b, int off, int len) throws IOException {
- checkClosed();
- int rt = file.read(b, off, len);
- if (rt != -1) {
- streamPos += rt;
- }
- return rt;
- }
-
- @Override
- public long length() {
- try {
- checkClosed();
- return file.length();
- } catch (IOException e) {
- return super.length(); // -1L
- }
- }
-
- @Override
- public void seek(long pos) throws IOException {
- // -- checkClosed() is performed in super.seek()
- super.seek(pos);
- file.seek(pos);
- streamPos = file.getFilePointer();
- }
-
- @Override
- public void close() throws IOException {
- super.close();
- file.close();
- }
-}
diff --git a/awt/javax/imageio/stream/IIOByteBuffer.java b/awt/javax/imageio/stream/IIOByteBuffer.java
deleted file mode 100644
index 867d808..0000000
--- a/awt/javax/imageio/stream/IIOByteBuffer.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/**
- * @author Sergey I. Salishev
- * @version $Revision: 1.2 $
- */
-
-package javax.imageio.stream;
-
-//
-// @author Sergey I. Salishev
-// @version $Revision: 1.2 $
-//
-
-/**
- * The IIOByteBuffer class represents a byte array with offset and length that
- * is used by ImageInputStream for obtaining a sequence of bytes.
- *
- * @since Android 1.0
- */
-public class IIOByteBuffer {
-
- /**
- * The data.
- */
- private byte[] data;
-
- /**
- * The offset.
- */
- private int offset;
-
- /**
- * The length.
- */
- private int length;
-
- /**
- * Instantiates a new IIOByteBuffer.
- *
- * @param data
- * the byte array.
- * @param offset
- * the offset in the array.
- * @param length
- * the length of array.
- */
- public IIOByteBuffer(byte[] data, int offset, int length) {
- this.data = data;
- this.offset = offset;
- this.length = length;
- }
-
- /**
- * Gets the byte array of this IIOByteBuffer.
- *
- * @return the byte array.
- */
- public byte[] getData() {
- return data;
- }
-
- /**
- * Gets the length in the array which will be used.
- *
- * @return the length of the data.
- */
- public int getLength() {
- return length;
- }
-
- /**
- * Gets the offset of this IIOByteBuffer.
- *
- * @return the offset of this IIOByteBuffer.
- */
- public int getOffset() {
- return offset;
- }
-
- /**
- * Sets the new data array to this IIOByteBuffer object.
- *
- * @param data
- * the new data array.
- */
- public void setData(byte[] data) {
- this.data = data;
- }
-
- /**
- * Sets the length of data which will be used.
- *
- * @param length
- * the new length.
- */
- public void setLength(int length) {
- this.length = length;
- }
-
- /**
- * Sets the offset in the data array of this IIOByteBuffer.
- *
- * @param offset
- * the new offset.
- */
- public void setOffset(int offset) {
- this.offset = offset;
- }
-}
diff --git a/awt/javax/imageio/stream/ImageInputStream.java b/awt/javax/imageio/stream/ImageInputStream.java
deleted file mode 100644
index 3dec5d2..0000000
--- a/awt/javax/imageio/stream/ImageInputStream.java
+++ /dev/null
@@ -1,502 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/**
- * @author Rustem V. Rafikov
- * @version $Revision: 1.2 $
- */
-
-package javax.imageio.stream;
-
-import java.io.DataInput;
-import java.io.IOException;
-import java.nio.ByteOrder;
-
-/**
- * The ImageInputStream represents input stream interface that is used by
- * ImageReaders.
- *
- * @since Android 1.0
- */
-public interface ImageInputStream extends DataInput {
-
- /**
- * Sets the specified byte order for reading of data values from this
- * stream.
- *
- * @param byteOrder
- * the byte order.
- */
- void setByteOrder(ByteOrder byteOrder);
-
- /**
- * Gets the byte order.
- *
- * @return the byte order.
- */
- ByteOrder getByteOrder();
-
- /**
- * Reads a byte from the stream.
- *
- * @return the byte of the stream, or -1 for EOF indicating.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- int read() throws IOException;
-
- /**
- * Reads number of bytes which is equal to the specified array's length and
- * stores a result to this array.
- *
- * @param b
- * the byte array.
- * @return the number of read bytes, or -1 indicated EOF.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- int read(byte[] b) throws IOException;
-
- /**
- * Reads the number of bytes specified by len parameter from the stream and
- * stores a result to the specified array with the specified offset.
- *
- * @param b
- * the byte array.
- * @param off
- * the offset.
- * @param len
- * the number of bytes to be read.
- * @return the number of read bytes, or -1 indicated EOF.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- int read(byte[] b, int off, int len) throws IOException;
-
- /**
- * Reads the number of bytes specified by len parameter from the stream, and
- * modifies the specified IIOByteBuffer with the byte array, offset, and
- * length.
- *
- * @param buf
- * the IIOByteBuffer.
- * @param len
- * the number of bytes to be read.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- void readBytes(IIOByteBuffer buf, int len) throws IOException;
-
- /**
- * Reads a byte from the stream and returns a boolean true value if it is
- * non zero, false if it is zero.
- *
- * @return the boolean value for read byte.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- boolean readBoolean() throws IOException;
-
- /**
- * Reads a byte from the stream and returns its value as signed byte.
- *
- * @return the signed byte value for read byte.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- byte readByte() throws IOException;
-
- /**
- * Reads a byte from the stream and returns its value as an integer.
- *
- * @return the unsigned byte value for read byte as an integer.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- int readUnsignedByte() throws IOException;
-
- /**
- * Reads 2 bytes from the stream, and returns the result as a short.
- *
- * @return the signed short value from the stream.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- short readShort() throws IOException;
-
- /**
- * Reads 2 bytes from the stream and returns its value as an unsigned short.
- *
- * @return a unsigned short value coded in an integer.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- int readUnsignedShort() throws IOException;
-
- /**
- * Reads 2 bytes from the stream and returns their unsigned char value.
- *
- * @return the unsigned char value.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- char readChar() throws IOException;
-
- /**
- * Reads 4 bytes from the stream, and returns the result as an integer.
- *
- * @return the signed integer value from the stream.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- int readInt() throws IOException;
-
- /**
- * Reads 4 bytes from the stream and returns its value as long.
- *
- * @return the unsigned integer value as long.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- long readUnsignedInt() throws IOException;
-
- /**
- * Reads 8 bytes from the stream, and returns the result as a long.
- *
- * @return the long value from the stream.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- long readLong() throws IOException;
-
- /**
- * Reads 4 bytes from the stream, and returns the result as a float.
- *
- * @return the float value from the stream.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- float readFloat() throws IOException;
-
- /**
- * Reads 8 bytes from the stream, and returns the result as a double.
- *
- * @return the double value from the stream.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- double readDouble() throws IOException;
-
- /**
- * Reads a line from the stream.
- *
- * @return the string contained the line from the stream.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- String readLine() throws IOException;
-
- /**
- * Reads bytes from the stream in a string that has been encoded in a
- * modified UTF-8 format.
- *
- * @return the string read from stream and modified UTF-8 format.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- String readUTF() throws IOException;
-
- /**
- * Reads the specified number of bytes from the stream, and stores the
- * result into the specified array starting at the specified index offset.
- *
- * @param b
- * the byte array.
- * @param off
- * the offset.
- * @param len
- * the number of bytes to be read.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- void readFully(byte[] b, int off, int len) throws IOException;
-
- /**
- * Reads number of bytes from the stream which is equal to the specified
- * array's length, and stores them into this array.
- *
- * @param b
- * the byte array.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- void readFully(byte[] b) throws IOException;
-
- /**
- * Reads the specified number of shorts from the stream, and stores the
- * result into the specified array starting at the specified index offset.
- *
- * @param s
- * the short array.
- * @param off
- * the offset.
- * @param len
- * the number of shorts to be read.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- void readFully(short[] s, int off, int len) throws IOException;
-
- /**
- * Reads the specified number of chars from the stream, and stores the
- * result into the specified array starting at the specified index offset.
- *
- * @param c
- * the char array.
- * @param off
- * the offset.
- * @param len
- * the number of chars to be read.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- void readFully(char[] c, int off, int len) throws IOException;
-
- /**
- * Reads the specified number of integer from the stream, and stores the
- * result into the specified array starting at the specified index offset.
- *
- * @param i
- * the integer array.
- * @param off
- * the offset.
- * @param len
- * the number of integer to be read.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- void readFully(int[] i, int off, int len) throws IOException;
-
- /**
- * Reads the specified number of longs from the stream, and stores the
- * result into the specified array starting at the specified index offset.
- *
- * @param l
- * the long array.
- * @param off
- * the offset.
- * @param len
- * the number of longs to be read.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- void readFully(long[] l, int off, int len) throws IOException;
-
- /**
- * Reads the specified number of floats from the stream, and stores the
- * result into the specified array starting at the specified index offset.
- *
- * @param f
- * the float array.
- * @param off
- * the offset.
- * @param len
- * the number of floats to be read.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- void readFully(float[] f, int off, int len) throws IOException;
-
- /**
- * Reads the specified number of doubles from the stream, and stores the
- * result into the specified array starting at the specified index offset.
- *
- * @param d
- * the double array.
- * @param off
- * the offset.
- * @param len
- * the number of doubles to be read.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- void readFully(double[] d, int off, int len) throws IOException;
-
- /**
- * Gets the stream position.
- *
- * @return the stream position.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- long getStreamPosition() throws IOException;
-
- /**
- * Gets the bit offset.
- *
- * @return the bit offset.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- int getBitOffset() throws IOException;
-
- /**
- * Sets the bit offset to an integer between 0 and 7.
- *
- * @param bitOffset
- * the bit offset.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- void setBitOffset(int bitOffset) throws IOException;
-
- /**
- * Reads a bit from the stream and returns the value 0 or 1.
- *
- * @return the value of single bit: 0 or 1.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- int readBit() throws IOException;
-
- /**
- * Read the specified number of bits and returns their values as long.
- *
- * @param numBits
- * the number of bits to be read.
- * @return the bit string as a long.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- long readBits(int numBits) throws IOException;
-
- /**
- * Returns the length of the stream.
- *
- * @return the length of the stream, or -1 if unknown.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- long length() throws IOException;
-
- /**
- * Skips the specified number of bytes by moving stream position.
- *
- * @param n
- * the number of bytes.
- * @return the actual skipped number of bytes.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- int skipBytes(int n) throws IOException;
-
- /**
- * Skips the specified number of bytes by moving stream position.
- *
- * @param n
- * the number of bytes.
- * @return the actual skipped number of bytes.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- long skipBytes(long n) throws IOException;
-
- /**
- * Sets the current stream position to the specified location.
- *
- * @param pos
- * a file pointer position.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- void seek(long pos) throws IOException;
-
- /**
- * Marks a position in the stream to be returned to by a subsequent call to
- * reset.
- */
- void mark();
-
- /**
- * Returns the file pointer to its previous position.
- *
- * @throws IOException
- * if an I/O exception has occurred.
- */
- void reset() throws IOException;
-
- /**
- * Flushes the initial position in this stream prior to the specified stream
- * position.
- *
- * @param pos
- * the position.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- void flushBefore(long pos) throws IOException;
-
- /**
- * Flushes the initial position in this stream prior to the current stream
- * position.
- *
- * @throws IOException
- * if an I/O exception has occurred.
- */
- void flush() throws IOException;
-
- /**
- * Gets the flushed position.
- *
- * @return the flushed position.
- */
- long getFlushedPosition();
-
- /**
- * Returns true if this ImageInputStream caches data in order to allow
- * seeking backwards.
- *
- * @return true, if this ImageInputStream caches data in order to allow
- * seeking backwards, false otherwise.
- */
- boolean isCached();
-
- /**
- * Returns true if this ImageInputStream caches data in order to allow
- * seeking backwards, and keeps it in memory.
- *
- * @return true, if this ImageInputStream caches data in order to allow
- * seeking backwards, and keeps it in memory.
- */
- boolean isCachedMemory();
-
- /**
- * Returns true if this ImageInputStream caches data in order to allow
- * seeking backwards, and keeps it in a temporary file.
- *
- * @return true, if this ImageInputStream caches data in order to allow
- * seeking backwards, and keeps it in a temporary file.
- */
- boolean isCachedFile();
-
- /**
- * Closes this stream.
- *
- * @throws IOException
- * if an I/O exception has occurred.
- */
- void close() throws IOException;
-}
diff --git a/awt/javax/imageio/stream/ImageInputStreamImpl.java b/awt/javax/imageio/stream/ImageInputStreamImpl.java
deleted file mode 100644
index d79da41..0000000
--- a/awt/javax/imageio/stream/ImageInputStreamImpl.java
+++ /dev/null
@@ -1,418 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/**
- * @author Rustem V. Rafikov
- * @version $Revision: 1.3 $
- */
-
-package javax.imageio.stream;
-
-import java.io.EOFException;
-import java.io.IOException;
-import java.nio.ByteOrder;
-
-/**
- * The ImageInputStreamImpl abstract class implements the ImageInputStream
- * interface.
- *
- * @since Android 1.0
- */
-public abstract class ImageInputStreamImpl implements ImageInputStream {
-
- /**
- * The byte order.
- */
- protected ByteOrder byteOrder = ByteOrder.BIG_ENDIAN;
-
- /**
- * The stream position.
- */
- protected long streamPos = 0;
-
- /**
- * The flushed position.
- */
- protected long flushedPos = 0;
-
- /**
- * The bit offset.
- */
- protected int bitOffset = 0;
-
- /**
- * The closed.
- */
- private boolean closed = false;
-
- /**
- * The position stack.
- */
- private final PositionStack posStack = new PositionStack();
-
- /**
- * Instantiates a new ImageInputStreamImpl.
- */
- public ImageInputStreamImpl() {
- }
-
- /**
- * Check if the stream is closed and if true, throws an IOException.
- *
- * @throws IOException
- * if the stream is closed.
- */
- protected final void checkClosed() throws IOException {
- if (closed) {
- throw new IOException("stream is closed");
- }
- }
-
- public void setByteOrder(ByteOrder byteOrder) {
- this.byteOrder = byteOrder;
- }
-
- public ByteOrder getByteOrder() {
- return byteOrder;
- }
-
- public abstract int read() throws IOException;
-
- public int read(byte[] b) throws IOException {
- return read(b, 0, b.length);
- }
-
- public abstract int read(byte[] b, int off, int len) throws IOException;
-
- public void readBytes(IIOByteBuffer buf, int len) throws IOException {
- if (buf == null) {
- throw new NullPointerException("buffer is NULL");
- }
-
- byte[] b = new byte[len];
- len = read(b, 0, b.length);
-
- buf.setData(b);
- buf.setOffset(0);
- buf.setLength(len);
- }
-
- public boolean readBoolean() throws IOException {
- int b = read();
- if (b < 0) {
- throw new EOFException("EOF reached");
- }
- return b != 0;
- }
-
- public byte readByte() throws IOException {
- int b = read();
- if (b < 0) {
- throw new EOFException("EOF reached");
- }
- return (byte)b;
- }
-
- public int readUnsignedByte() throws IOException {
- int b = read();
- if (b < 0) {
- throw new EOFException("EOF reached");
- }
- return b;
- }
-
- public short readShort() throws IOException {
- int b1 = read();
- int b2 = read();
-
- if (b1 < 0 || b2 < 0) {
- throw new EOFException("EOF reached");
- }
-
- return byteOrder == ByteOrder.BIG_ENDIAN ? (short)((b1 << 8) | (b2 & 0xff))
- : (short)((b2 << 8) | (b1 & 0xff));
- }
-
- public int readUnsignedShort() throws IOException {
- // -- TODO implement
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- public char readChar() throws IOException {
- // -- TODO implement
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- public int readInt() throws IOException {
- // -- TODO implement
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- public long readUnsignedInt() throws IOException {
- // -- TODO implement
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- public long readLong() throws IOException {
- // -- TODO implement
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- public float readFloat() throws IOException {
- // -- TODO implement
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- public double readDouble() throws IOException {
- // -- TODO implement
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- public String readLine() throws IOException {
- // -- TODO implement
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- public String readUTF() throws IOException {
- // -- TODO implement
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- public void readFully(byte[] b, int off, int len) throws IOException {
- // -- TODO implement
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- public void readFully(byte[] b) throws IOException {
- readFully(b, 0, b.length);
- }
-
- public void readFully(short[] s, int off, int len) throws IOException {
- // -- TODO implement
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- public void readFully(char[] c, int off, int len) throws IOException {
- // -- TODO implement
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- public void readFully(int[] i, int off, int len) throws IOException {
- // -- TODO implement
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- public void readFully(long[] l, int off, int len) throws IOException {
- // -- TODO implement
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- public void readFully(float[] f, int off, int len) throws IOException {
- // -- TODO implement
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- public void readFully(double[] d, int off, int len) throws IOException {
- // -- TODO implement
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- public long getStreamPosition() throws IOException {
- checkClosed();
- return streamPos;
- }
-
- public int getBitOffset() throws IOException {
- checkClosed();
- return bitOffset;
- }
-
- public void setBitOffset(int bitOffset) throws IOException {
- checkClosed();
- this.bitOffset = bitOffset;
- }
-
- public int readBit() throws IOException {
- // -- TODO implement
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- public long readBits(int numBits) throws IOException {
- // -- TODO implement
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- public long length() {
- return -1L;
- }
-
- public int skipBytes(int n) throws IOException {
- // -- TODO implement
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- public long skipBytes(long n) throws IOException {
- // -- TODO implement
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- public void seek(long pos) throws IOException {
- checkClosed();
- if (pos < getFlushedPosition()) {
- throw new IllegalArgumentException("trying to seek before flushed pos");
- }
- bitOffset = 0;
- streamPos = pos;
- }
-
- public void mark() {
- try {
- posStack.push(getStreamPosition());
- } catch (IOException e) {
- e.printStackTrace();
- throw new RuntimeException("Stream marking error");
- }
- }
-
- public void reset() throws IOException {
- // -- TODO bit pos
- if (!posStack.isEmpty()) {
- long p = posStack.pop();
- if (p < flushedPos) {
- throw new IOException("marked position lies in the flushed portion of the stream");
- }
- seek(p);
- }
- }
-
- public void flushBefore(long pos) throws IOException {
- if (pos > getStreamPosition()) {
- throw new IndexOutOfBoundsException("Trying to flush outside of current position");
- }
- if (pos < flushedPos) {
- throw new IndexOutOfBoundsException("Trying to flush within already flushed portion");
- }
- flushedPos = pos;
- // -- TODO implement
- }
-
- public void flush() throws IOException {
- flushBefore(getStreamPosition());
- }
-
- public long getFlushedPosition() {
- return flushedPos;
- }
-
- public boolean isCached() {
- return false; // def
- }
-
- public boolean isCachedMemory() {
- return false; // def
- }
-
- public boolean isCachedFile() {
- return false; // def
- }
-
- public void close() throws IOException {
- checkClosed();
- closed = true;
-
- }
-
- /**
- * Finalizes this object.
- *
- * @throws Throwable
- * if an error occurs.
- */
- @Override
- protected void finalize() throws Throwable {
- if (!closed) {
- try {
- close();
- } finally {
- super.finalize();
- }
- }
- }
-
- /**
- * The Class PositionStack.
- */
- private static class PositionStack {
-
- /**
- * The Constant SIZE.
- */
- private static final int SIZE = 10;
-
- /**
- * The values.
- */
- private long[] values = new long[SIZE];
-
- /**
- * The pos.
- */
- private int pos = 0;
-
- /**
- * Push.
- *
- * @param v
- * the v.
- */
- void push(long v) {
- if (pos >= values.length) {
- ensure(pos + 1);
- }
- values[pos++] = v;
- }
-
- /**
- * Pop.
- *
- * @return the long.
- */
- long pop() {
- return values[--pos];
- }
-
- /**
- * Checks if is empty.
- *
- * @return true, if is empty.
- */
- boolean isEmpty() {
- return pos == 0;
- }
-
- /**
- * Ensure.
- *
- * @param size
- * the size.
- */
- private void ensure(int size) {
- long[] arr = new long[Math.max(2 * values.length, size)];
- System.arraycopy(values, 0, arr, 0, values.length);
- values = arr;
- }
- }
-}
diff --git a/awt/javax/imageio/stream/ImageOutputStream.java b/awt/javax/imageio/stream/ImageOutputStream.java
deleted file mode 100644
index 28ec932..0000000
--- a/awt/javax/imageio/stream/ImageOutputStream.java
+++ /dev/null
@@ -1,307 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/**
- * @author Rustem V. Rafikov
- * @version $Revision: 1.2 $
- */
-
-package javax.imageio.stream;
-
-import java.io.DataOutput;
-import java.io.IOException;
-
-/**
- * The ImageOutputStream represents output stream interface that is used by
- * ImageWriters.
- *
- * @since Android 1.0
- */
-public interface ImageOutputStream extends DataOutput, ImageInputStream {
-
- /**
- * Writes a single byte to the stream at the current position.
- *
- * @param b
- * the integer value, of which the 8 lowest bits will be written.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- void write(int b) throws IOException;
-
- /**
- * Writes the bytes array to the stream.
- *
- * @param b
- * the byte array to be written.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- void write(byte[] b) throws IOException;
-
- /**
- * Writes a number of bytes from the specified byte array beginning from the
- * specified offset.
- *
- * @param b
- * the byte array.
- * @param off
- * the offset.
- * @param len
- * the number of bytes to be written.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- void write(byte[] b, int off, int len) throws IOException;
-
- /**
- * Writes the specified boolean value to the stream, 1 if it is true, 0 if
- * it is false.
- *
- * @param b
- * the boolean value to be written.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- void writeBoolean(boolean b) throws IOException;
-
- /**
- * Writes the 8 lowest bits of the specified integer value to the stream.
- *
- * @param b
- * the specified integer value.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- void writeByte(int b) throws IOException;
-
- /**
- * Writes a short value to the output stream.
- *
- * @param v
- * the short value to be written.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- void writeShort(int v) throws IOException;
-
- /**
- * Writes the 16 lowest bits of the specified integer value to the stream.
- *
- * @param v
- * the specified integer value.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- void writeChar(int v) throws IOException;
-
- /**
- * Writes an integer value to the output stream.
- *
- * @param v
- * the integer value to be written.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- void writeInt(int v) throws IOException;
-
- /**
- * Write long.
- *
- * @param v
- * the long value.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- void writeLong(long v) throws IOException;
-
- /**
- * Writes a float value to the output stream.
- *
- * @param v
- * the float which contains value to be written.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- void writeFloat(float v) throws IOException;
-
- /**
- * Writes a double value to the output stream.
- *
- * @param v
- * the double which contains value to be written.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- void writeDouble(double v) throws IOException;
-
- /**
- * Writes the specified string to the stream.
- *
- * @param s
- * the string to be written.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- void writeBytes(String s) throws IOException;
-
- /**
- * Writes the specified String to the output stream.
- *
- * @param s
- * the String to be written.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- void writeChars(String s) throws IOException;
-
- /**
- * Writes 2 bytes to the output stream in the modified UTF-8 representation
- * of every character of the specified string.
- *
- * @param s
- * the specified string to be written.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- void writeUTF(String s) throws IOException;
-
- /**
- * Flushes the initial position in this stream prior to the specified stream
- * position.
- *
- * @param pos
- * the position.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- void flushBefore(long pos) throws IOException;
-
- /**
- * Writes a len number of short values from the specified array to the
- * stream.
- *
- * @param s
- * the shorts array to be written.
- * @param off
- * the offset in the char array.
- * @param len
- * the length of chars to be written.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- void writeShorts(short[] s, int off, int len) throws IOException;
-
- /**
- * Writes a len number of chars to the stream.
- *
- * @param c
- * the char array to be written.
- * @param off
- * the offset in the char array.
- * @param len
- * the length of chars to be written.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- void writeChars(char[] c, int off, int len) throws IOException;
-
- /**
- * Writes a len number of integer values from the specified array to the
- * stream.
- *
- * @param i
- * the integer array to be written.
- * @param off
- * the offset in the char array.
- * @param len
- * the length of chars to be written.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- void writeInts(int[] i, int off, int len) throws IOException;
-
- /**
- * Writes a len number of long values from the specified array to the
- * stream.
- *
- * @param l
- * the long array to be written.
- * @param off
- * the offset in the char array.
- * @param len
- * the length of chars to be written.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- void writeLongs(long[] l, int off, int len) throws IOException;
-
- /**
- * Writes a len number of float values from the specified array to the
- * stream.
- *
- * @param f
- * the float array to be written.
- * @param off
- * the offset in the char array.
- * @param len
- * the length of chars to be written.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- void writeFloats(float[] f, int off, int len) throws IOException;
-
- /**
- * Writes a len number of double values from the specified array to the
- * stream.
- *
- * @param d
- * the double array to be written.
- * @param off
- * the offset in the char array.
- * @param len
- * the length of chars to be written.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- void writeDoubles(double[] d, int off, int len) throws IOException;
-
- /**
- * Writes a single bit at the current position.
- *
- * @param bit
- * the integer whose least significant bit is to be written to
- * the stream.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- void writeBit(int bit) throws IOException;
-
- /**
- * Writes a sequence of bits beginning from the current position.
- *
- * @param bits
- * the long value containing the bits to be written, starting
- * with the bit in position numBits - 1 down to the least
- * significant bit.
- * @param numBits
- * the number of significant bit, it can be between 0 and 64.
- * @throws IOException
- * if an I/O exception has occurred.
- */
- void writeBits(long bits, int numBits) throws IOException;
-
-}
diff --git a/awt/javax/imageio/stream/ImageOutputStreamImpl.java b/awt/javax/imageio/stream/ImageOutputStreamImpl.java
deleted file mode 100644
index 0fef78f..0000000
--- a/awt/javax/imageio/stream/ImageOutputStreamImpl.java
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/**
- * @author Rustem V. Rafikov
- * @version $Revision: 1.3 $
- */
-
-package javax.imageio.stream;
-
-import java.io.IOException;
-import java.nio.ByteOrder;
-
-/*
- * @author Rustem V. Rafikov
- * @version $Revision: 1.3 $
- */
-
-/**
- * The ImageOutputStreamImpl abstract class implements the ImageOutputStream
- * interface.
- *
- * @since Android 1.0
- */
-public abstract class ImageOutputStreamImpl extends ImageInputStreamImpl implements
- ImageOutputStream {
-
- /**
- * Instantiates a new ImageOutputStreamImpl.
- */
- public ImageOutputStreamImpl() {
- }
-
- public abstract void write(int b) throws IOException;
-
- public void write(byte[] b) throws IOException {
- write(b, 0, b.length);
- }
-
- public abstract void write(byte[] b, int off, int len) throws IOException;
-
- public void writeBoolean(boolean v) throws IOException {
- write(v ? 1 : 0);
- }
-
- public void writeByte(int v) throws IOException {
- write(v);
- }
-
- public void writeShort(int v) throws IOException {
- if (byteOrder == ByteOrder.BIG_ENDIAN) {
-
- } else {
-
- }
- // -- TODO implement
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- public void writeChar(int v) throws IOException {
- writeShort(v);
- }
-
- public void writeInt(int v) throws IOException {
- if (byteOrder == ByteOrder.BIG_ENDIAN) {
-
- } else {
-
- }
- // -- TODO implement
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- public void writeLong(long v) throws IOException {
- if (byteOrder == ByteOrder.BIG_ENDIAN) {
-
- } else {
-
- }
- // -- TODO implement
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- public void writeFloat(float v) throws IOException {
- writeInt(Float.floatToIntBits(v));
- }
-
- public void writeDouble(double v) throws IOException {
- writeLong(Double.doubleToLongBits(v));
- }
-
- public void writeBytes(String s) throws IOException {
- write(s.getBytes());
- }
-
- public void writeChars(String s) throws IOException {
- char[] chs = s.toCharArray();
- writeChars(chs, 0, chs.length);
- }
-
- public void writeUTF(String s) throws IOException {
- // -- TODO implement
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- public void writeShorts(short[] s, int off, int len) throws IOException {
- // -- TODO implement
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- public void writeChars(char[] c, int off, int len) throws IOException {
- // -- TODO implement
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- public void writeInts(int[] i, int off, int len) throws IOException {
- // -- TODO implement
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- public void writeLongs(long[] l, int off, int len) throws IOException {
- // -- TODO implement
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- public void writeFloats(float[] f, int off, int len) throws IOException {
- // -- TODO implement
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- public void writeDoubles(double[] d, int off, int len) throws IOException {
- // -- TODO implement
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- public void writeBit(int bit) throws IOException {
- // -- TODO implement
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- public void writeBits(long bits, int numBits) throws IOException {
- // -- TODO implement
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- /**
- * Flushes the bits. This method should be called in the write methods by
- * subclasses.
- *
- * @throws IOException
- * if an I/O exception has occurred.
- */
- protected final void flushBits() throws IOException {
- if (bitOffset == 0) {
- return;
- }
-
- // -- TODO implement
- throw new UnsupportedOperationException("Not implemented yet");
- }
-}
diff --git a/awt/javax/imageio/stream/MemoryCacheImageInputStream.java b/awt/javax/imageio/stream/MemoryCacheImageInputStream.java
deleted file mode 100644
index d7fc791..0000000
--- a/awt/javax/imageio/stream/MemoryCacheImageInputStream.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package javax.imageio.stream;
-
-import org.apache.harmony.x.imageio.stream.RandomAccessMemoryCache;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-/**
- * The MemoryCacheImageInputStream class implements ImageInputStream using a
- * memory buffer for caching the data.
- *
- * @since Android 1.0
- */
-public class MemoryCacheImageInputStream extends ImageInputStreamImpl {
-
- /**
- * The is.
- */
- private InputStream is;
-
- /**
- * The ramc.
- */
- private RandomAccessMemoryCache ramc = new RandomAccessMemoryCache();
-
- /**
- * Instantiates a new MemoryCacheImageInputStream which reads from the
- * specified InputStream.
- *
- * @param stream
- * the InputStream to be read.
- */
- public MemoryCacheImageInputStream(InputStream stream) {
- if (stream == null) {
- throw new IllegalArgumentException("stream == null!");
- }
- is = stream;
- }
-
- @Override
- public int read() throws IOException {
- bitOffset = 0;
-
- if (streamPos >= ramc.length()) {
- int count = (int)(streamPos - ramc.length() + 1);
- int bytesAppended = ramc.appendData(is, count);
-
- if (bytesAppended < count) {
- return -1;
- }
- }
-
- int res = ramc.getData(streamPos);
- if (res >= 0) {
- streamPos++;
- }
- return res;
- }
-
- @Override
- public int read(byte[] b, int off, int len) throws IOException {
- bitOffset = 0;
-
- if (streamPos >= ramc.length()) {
- int count = (int)(streamPos - ramc.length() + len);
- ramc.appendData(is, count);
- }
-
- int res = ramc.getData(b, off, len, streamPos);
- if (res > 0) {
- streamPos += res;
- }
- return res;
- }
-
- @Override
- public boolean isCached() {
- return true;
- }
-
- @Override
- public boolean isCachedFile() {
- return false;
- }
-
- @Override
- public boolean isCachedMemory() {
- return true;
- }
-
- @Override
- public void close() throws IOException {
- super.close();
- ramc.close();
- }
-
- @Override
- public void flushBefore(long pos) throws IOException {
- super.flushBefore(pos);
- ramc.freeBefore(getFlushedPosition());
- }
-}
diff --git a/awt/javax/imageio/stream/MemoryCacheImageOutputStream.java b/awt/javax/imageio/stream/MemoryCacheImageOutputStream.java
deleted file mode 100644
index 1df40a3..0000000
--- a/awt/javax/imageio/stream/MemoryCacheImageOutputStream.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package javax.imageio.stream;
-
-import org.apache.harmony.x.imageio.stream.RandomAccessMemoryCache;
-
-import java.io.OutputStream;
-import java.io.IOException;
-
-/**
- * The MemoryCacheImageOutputStream class implements ImageOutputStream using a
- * memory buffer for caching the data.
- *
- * @since Android 1.0
- */
-public class MemoryCacheImageOutputStream extends ImageOutputStreamImpl {
-
- /**
- * The os.
- */
- OutputStream os;
-
- /**
- * The ramc.
- */
- RandomAccessMemoryCache ramc = new RandomAccessMemoryCache();
-
- /**
- * Instantiates a new MemoryCacheImageOutputStream which writes to the
- * specified OutputStream.
- *
- * @param stream
- * the OutputStream.
- */
- public MemoryCacheImageOutputStream(OutputStream stream) {
- if (stream == null) {
- throw new IllegalArgumentException("stream == null!");
- }
- os = stream;
- }
-
- @Override
- public void write(int b) throws IOException {
- flushBits(); // See the flushBits method description
-
- ramc.putData(b, streamPos);
- streamPos++;
- }
-
- @Override
- public void write(byte[] b, int off, int len) throws IOException {
- flushBits(); // See the flushBits method description
-
- ramc.putData(b, off, len, streamPos);
- streamPos += len;
- }
-
- @Override
- public int read() throws IOException {
- bitOffset = 0;
-
- int res = ramc.getData(streamPos);
- if (res >= 0) {
- streamPos++;
- }
- return res;
- }
-
- @Override
- public int read(byte[] b, int off, int len) throws IOException {
- bitOffset = 0;
-
- int res = ramc.getData(b, off, len, streamPos);
- if (res > 0) {
- streamPos += res;
- }
- return res;
- }
-
- @Override
- public long length() {
- return ramc.length();
- }
-
- @Override
- public boolean isCached() {
- return true;
- }
-
- @Override
- public boolean isCachedMemory() {
- return true;
- }
-
- @Override
- public boolean isCachedFile() {
- return false;
- }
-
- @Override
- public void close() throws IOException {
- flushBefore(length());
- super.close();
- ramc.close();
- }
-
- @Override
- public void flushBefore(long pos) throws IOException {
- long flushedPosition = getFlushedPosition();
- super.flushBefore(pos);
-
- long newFlushedPosition = getFlushedPosition();
- int nBytes = (int)(newFlushedPosition - flushedPosition);
-
- ramc.getData(os, nBytes, flushedPosition);
- ramc.freeBefore(newFlushedPosition);
-
- os.flush();
- }
-}
diff --git a/awt/javax/imageio/stream/package.html b/awt/javax/imageio/stream/package.html
deleted file mode 100644
index 6cf53c3..0000000
--- a/awt/javax/imageio/stream/package.html
+++ /dev/null
@@ -1,8 +0,0 @@
-<html>
- <body>
- <p>
- This package contains classes and interfaces for handling images with low-level I/O operations.
- </p>
- @since Android 1.0
- </body>
-</html>