43 * <code>getMetadataFormatNames</code>. The plug-in may also support |
43 * <code>getMetadataFormatNames</code>. The plug-in may also support |
44 * a single special format, referred to as the "native" format, which |
44 * a single special format, referred to as the "native" format, which |
45 * is designed to encode its metadata losslessly. This format will |
45 * is designed to encode its metadata losslessly. This format will |
46 * typically be designed specifically to work with a specific file |
46 * typically be designed specifically to work with a specific file |
47 * format, so that images may be loaded and saved in the same format |
47 * format, so that images may be loaded and saved in the same format |
48 * with no loss of metadata, but may be less useful for transfering |
48 * with no loss of metadata, but may be less useful for transferring |
49 * metadata between an <code>ImageReader</code> and an |
49 * metadata between an <code>ImageReader</code> and an |
50 * <code>ImageWriter</code> for different image formats. To convert |
50 * <code>ImageWriter</code> for different image formats. To convert |
51 * between two native formats as losslessly as the image file formats |
51 * between two native formats as losslessly as the image file formats |
52 * will allow, an <code>ImageTranscoder</code> object must be used. |
52 * will allow, an <code>ImageTranscoder</code> object must be used. |
53 * |
53 * |
128 */ |
128 */ |
129 protected IIOMetadataController controller = null; |
129 protected IIOMetadataController controller = null; |
130 |
130 |
131 /** |
131 /** |
132 * Constructs an empty <code>IIOMetadata</code> object. The |
132 * Constructs an empty <code>IIOMetadata</code> object. The |
133 * subclass is responsible for suppying values for all protected |
133 * subclass is responsible for supplying values for all protected |
134 * instance variables that will allow any non-overridden default |
134 * instance variables that will allow any non-overridden default |
135 * implemtations of methods to satisfy their contracts. For example, |
135 * implementations of methods to satisfy their contracts. For example, |
136 * <code>extraMetadataFormatNames</code> should not have length 0. |
136 * <code>extraMetadataFormatNames</code> should not have length 0. |
137 */ |
137 */ |
138 protected IIOMetadata() {} |
138 protected IIOMetadata() {} |
139 |
139 |
140 /** |
140 /** |
473 |
473 |
474 /** |
474 /** |
475 * Alters the internal state of this <code>IIOMetadata</code> |
475 * Alters the internal state of this <code>IIOMetadata</code> |
476 * object from a tree of XML DOM <code>Node</code>s whose syntax |
476 * object from a tree of XML DOM <code>Node</code>s whose syntax |
477 * is defined by the given metadata format. The previous state is |
477 * is defined by the given metadata format. The previous state is |
478 * altered only as necessary to accomodate the nodes that are |
478 * altered only as necessary to accommodate the nodes that are |
479 * present in the given tree. If the tree structure or contents |
479 * present in the given tree. If the tree structure or contents |
480 * are invalid, an <code>IIOInvalidTreeException</code> will be |
480 * are invalid, an <code>IIOInvalidTreeException</code> will be |
481 * thrown. |
481 * thrown. |
482 * |
482 * |
483 * <p> As the semantics of how a tree or subtree may be merged with |
483 * <p> As the semantics of how a tree or subtree may be merged with |