| /* | |
| * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. | |
| * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | |
| * | |
| * This code is free software; you can redistribute it and/or modify it | |
| * under the terms of the GNU General Public License version 2 only, as | |
| * published by the Free Software Foundation. Oracle designates this | |
| * particular file as subject to the "Classpath" exception as provided | |
| * by Oracle in the LICENSE file that accompanied this code. | |
| * | |
| * This code is distributed in the hope that it will be useful, but WITHOUT | |
| * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
| * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
| * version 2 for more details (a copy is included in the LICENSE file that | |
| * accompanied this code). | |
| * | |
| * You should have received a copy of the GNU General Public License version | |
| * 2 along with this work; if not, write to the Free Software Foundation, | |
| * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. | |
| * | |
| * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA | |
| * or visit www.oracle.com if you need additional information or have any | |
| * questions. | |
| */ | |
| /** | |
| * A package of the Java Image I/O API dealing with reading and writing | |
| * metadata. | |
| * <p> | |
| * When reading an image, its per-stream and per-image metadata is made | |
| * available as an {@code IIOMetadata} object. The internals of this object are | |
| * specific to the plug-in that created it. Its contents may be accessed in the | |
| * form of an XML {@code Document}, which is implemented as a tree of | |
| * {@code IIOMetadataNode} objects. | |
| * <p> | |
| * When writing an image, its metadata may be set by defining or modifying an | |
| * {@code IIOMetadata} object. Such an object may be obtained from an | |
| * {@code ImageWriter} or {@code ImageTranscoder} (from the | |
| * {@code javax.imageio} package). Once such an object has been obtained, its | |
| * contents may be set of modified via a {@code Document} consisting of | |
| * {@code IIOMetadataNode}s. The document format may optionally be described | |
| * using an {@code IIOMetadataFormat} object. | |
| * <p> | |
| * The format of the metadata contained in the XML {@code Document} is | |
| * identified by a string which appears as the root node of the tree of | |
| * {@code IIOMetadataNode} objects. This string contains a version number, e.g. | |
| * "javax_imageio_jpeg_image_1.0". Readers and writers may support multiple | |
| * versions of the same basic format and the Image I/O API has methods that | |
| * allow specifying which version to use by passing the string to the | |
| * method/constructor used to obtain an {@code IIOMetadata} object. In some | |
| * cases, a more recent version may not be strictly compatible with a program | |
| * written expecting an older version (for an example, see the Native Metadata | |
| * Format section of the JPEG Metadata Usage Notes below). | |
| * <p> | |
| * Plug-ins may choose to support a | |
| * <A HREF="doc-files/standard_metadata.html">standard (plug-in neutral) format | |
| * </A>. This format does not provide lossless encoding of metadata, but allows | |
| * a portion of the metadata to be accessed in a generic manner. | |
| * <p> | |
| * Each of the standard plug-ins supports a so-called "native" metadata format, | |
| * which encodes its metadata losslessly: | |
| * <ul> | |
| * <li><A HREF="doc-files/bmp_metadata.html">BMP metadata</A></li> | |
| * <li><A HREF="doc-files/gif_metadata.html">GIF metadata</A></li> | |
| * <li><A HREF="doc-files/jpeg_metadata.html">JPEG metadata</A></li> | |
| * <li><A HREF="doc-files/png_metadata.html">PNG metadata</A></li> | |
| * <li><A HREF="doc-files/tiff_metadata.html#StreamMetadata"> | |
| * TIFF metadata</A></li> | |
| * <li><A HREF="doc-files/wbmp_metadata.html">WBMP metadata</A></li> | |
| * </ul> | |
| * @since 1.4 | |
| */ | |
| package javax.imageio.metadata; |