📄 imagereaderwriterspi.java
字号:
if (names == null || names.length == 0 || pluginClassName == null) throw new IllegalArgumentException(); this.names = names; this.suffixes = suffixes; this.MIMETypes = MIMETypes; this.pluginClassName = pluginClassName; this.supportsStandardStreamMetadataFormat = supportsStandardStreamMetadataFormat; this.nativeStreamMetadataFormatName = nativeStreamMetadataFormatName; this.nativeStreamMetadataFormatClassName = nativeStreamMetadataFormatClassName; this.extraStreamMetadataFormatNames = extraStreamMetadataFormatNames; this.extraStreamMetadataFormatClassNames = extraStreamMetadataFormatClassNames; this.supportsStandardImageMetadataFormat = supportsStandardImageMetadataFormat; this.nativeImageMetadataFormatName = nativeImageMetadataFormatName; this.nativeImageMetadataFormatClassName = nativeImageMetadataFormatClassName; this.extraImageMetadataFormatNames = extraImageMetadataFormatNames; this.extraImageMetadataFormatClassNames = extraImageMetadataFormatClassNames; } /** * Returns the human-readable, localized names of the supported * image formats. For example, a plug-in might return an array with * the elements <code>[“Tagged Image File Format”, * “Portable Network Graphics”]</code>. */ public String[] getFormatNames() { return (String[]) names.clone(); } /** * Returns the file suffixes of the supported image formats, for * example <code>[“tiff”, “tif”, * “png”]</code>. */ public String[] getFileSuffixes() { return suffixes; } /** * Returns the MIME types of the supported image formats, for * example <code>[“image/tiff”, * “image/png”]</code>. * * @return an array of MIME type strings, or <code>null</code> if * none of the supported formats has an associated MIME type. */ public String[] getMIMETypes() { return MIMETypes; } /** * Returns the fully qualified name of the class that implements the * {@link javax.imageio.ImageReader} or {@link * javax.imageio.ImageWriter} interface. */ public String getPluginClassName() { return pluginClassName; } /** * Returns whether the per-stream {@linkplain * javax.imageio.metadata.IIOMetadata metadata objects} associated * with this plug-in support format * <code>“javax_imageio_1.0”</code> in their * <code>getAsTree</code> and <code>setAsTree</code> methods. */ public boolean isStandardStreamMetadataFormatSupported() { return supportsStandardStreamMetadataFormat; } /** * Returns the name of the format that allows encoding all stream * metadata without loss, or <code>null</code> if this plug-in does * not provide a format that preserves all stream metadata. * * @see #getNativeImageMetadataFormatName() */ public String getNativeStreamMetadataFormatName() { return nativeStreamMetadataFormatName; } /** * Returns the names of additional formats for encoding stream * metadata, other than the {@linkplain * #isStandardStreamMetadataFormatSupported() standard} and the * {@linkplain #getNativeStreamMetadataFormatName() native} formats, * or <code>null</code> if this plug-in does not provide any extra * formats. * * @see #getExtraImageMetadataFormatNames() */ public String[] getExtraStreamMetadataFormatNames() { return extraStreamMetadataFormatNames; } /** * Returns whether the per-image {@linkplain * javax.imageio.metadata.IIOMetadata metadata objects} associated * with this plug-in support format * <code>“javax_imageio_1.0”</code> in their * <code>getAsTree</code> and <code>setAsTree</code> methods. */ public boolean isStandardImageMetadataFormatSupported() { return supportsStandardImageMetadataFormat; } /** * Returns the name of the format that allows encoding all image * metadata without loss, or <code>null</code> if this plug-in does * not provide a format that preserves all image metadata. * * @see #getNativeStreamMetadataFormatName() */ public String getNativeImageMetadataFormatName() { return nativeImageMetadataFormatName; } /** * Returns the names of additional formats for encoding image * metadata, other than the {@linkplain * #isStandardImageMetadataFormatSupported() standard} and the * {@linkplain #getNativeImageMetadataFormatName() native} formats, * or <code>null</code> if this plug-in does not provide any extra * formats. * * @see #getExtraStreamMetadataFormatNames() */ public String[] getExtraImageMetadataFormatNames() { return extraImageMetadataFormatNames; } /** * Returns an IIOMetadataFormat object that represents the requested * stream metadata format or null if the given format is supported * but no IIOMetadataFormat can be created for it. * * @param formatName the requested stream metadata format name * * @return an IIOMetadataFormat object or null * * @throws IllegalArgumentException if formatName is null or is not * one of the standard metadata format or this provider's native or * extra stream metadata formats */ public IIOMetadataFormat getStreamMetadataFormat (String formatName) { if (formatName == null) throw new IllegalArgumentException ("null stream metadata format name"); if (!formatName.equals (getNativeStreamMetadataFormatName()) && !formatName.equals (IIOMetadataFormatImpl.standardMetadataFormatName)) { String[] extraNames = getExtraStreamMetadataFormatNames (); boolean foundName = false; for (int i = 0; i < extraNames.length; i++) { if (formatName.equals(extraNames[i])) { foundName = true; break; } } if (!foundName) throw new IllegalArgumentException ("unsupported stream metadata format name"); } if (formatName.equals (IIOMetadataFormatImpl.standardMetadataFormatName)) return IIOMetadataFormatImpl.getStandardFormatInstance (); else // Default implementation returns null. return null; } /** * Returns an IIOMetadataFormat object that represents the requested * image metadata format or null if the given format is supported * but no IIOMetadataFormat can be created for it. * * @param formatName the requested image metadata format name * * @return an IIOMetadataFormat object or null * * @throws IllegalArgumentException if formatName is null or is not * one of the standard metadata format or this provider's native or * extra image metadata formats */ public IIOMetadataFormat getImageMetadataFormat (String formatName) { if (formatName == null) throw new IllegalArgumentException ("null image metadata format name"); if (!formatName.equals (getNativeImageMetadataFormatName()) && !formatName.equals (IIOMetadataFormatImpl.standardMetadataFormatName)) { String[] extraNames = getExtraImageMetadataFormatNames (); boolean foundName = false; for (int i = 0; i < extraNames.length; i++) { if (formatName.equals(extraNames[i])) { foundName = true; break; } } if (!foundName) throw new IllegalArgumentException ("unsupported image metadata format name"); } if (formatName.equals (IIOMetadataFormatImpl.standardMetadataFormatName)) return IIOMetadataFormatImpl.getStandardFormatInstance (); else // Default implementation returns null. return null; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -