diff options
Diffstat (limited to 'awt/javax/imageio/metadata/IIOMetadata.java')
-rw-r--r-- | awt/javax/imageio/metadata/IIOMetadata.java | 391 |
1 files changed, 0 insertions, 391 deletions
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); - } -} |