Module java.desktop

Interface IIOMetadataFormat

All Known Implementing Classes:
IIOMetadataFormatImpl

public interface IIOMetadataFormat
An object describing the structure of metadata documents returned from IIOMetadata.getAsTree and passed to IIOMetadata.setFromTree and mergeTree. Document structures are described by a set of constraints on the type and number of child elements that may belong to a given parent element type, the names, types, and values of attributes that may belong to an element, and the type and values of Object reference that may be stored at a node.

N.B: classes that implement this interface should contain a method declared as public static getInstance() which returns an instance of the class. Commonly, an implementation will construct only a single instance and cache it for future invocations of getInstance.

In the event that the plugin is provided as part of a named module, that module must export the package containing the implementation class to the

java.desktop
module via a qualified export. An unqualified export is not recommended unless also needed for some other reason. Failing to export the package will result in access failure at runtime.

The structures that may be described by this class are a subset of those expressible using XML document type definitions (DTDs), with the addition of some basic information on the datatypes of attributes and the ability to store an Object reference within a node. In the future, XML Schemas could be used to represent these structures, and many others.

The differences between IIOMetadataFormat-described structures and DTDs are as follows:

  • Elements may not contain text or mix text with embedded tags.
  • The children of an element must conform to one of a few simple patterns, described in the documentation for the CHILD_* constants;
  • The in-memory representation of an elements may contain a reference to an Object. There is no provision for representing such objects textually.