Module  java.desktop

Class IIOMetadata

    • Field Summary

      Fields  
      Modifier and Type Field 描述
      protected IIOMetadataController controller
      IIOMetadataController将用于提供此设置 IIOMetadata对象时 activateController方法被调用。
      protected IIOMetadataController defaultController
      一个 IIOMetadataController被建议用作控制器此 IIOMetadata对象。
      protected String[] extraMetadataFormatClassNames
      实现 IIOMetadataFormat的类的名称数组,并表示此插件支持的标准和本地格式的元数据格式,初始化为 null并通过构造函数进行设置。
      protected String[] extraMetadataFormatNames
      该插件支持的格式数组,不包括标准格式和原生格式,初始化为 null并通过构造函数进行设置。
      protected String nativeMetadataFormatClassName
      实现 IIOMetadataFormat并表示原生元数据格式的类的名称,初始化为 null并通过构造函数设置。
      protected String nativeMetadataFormatName
      该对象的本机元数据格式的名称,初始化为 null并通过构造函数进行设置。
      protected boolean standardFormatSupported
      一个布尔值,指示具体子类是否支持通过构造函数设置的标准元数据格式。
    • 构造方法摘要

      构造方法  
      Modifier Constructor 描述
      protected IIOMetadata​()
      构造一个空的 IIOMetadata对象。
      protected IIOMetadata​(boolean standardMetadataFormatSupported, String nativeMetadataFormatName, String nativeMetadataFormatClassName, String[] extraMetadataFormatNames, String[] extraMetadataFormatClassNames)
      构造具有给定格式名称和格式类名的 IIOMetadata对象,以及指示是否支持标准格式的布尔值。
    • 方法摘要

      所有方法  接口方法  抽象方法  具体的方法 
      Modifier and Type 方法 描述
      boolean activateController​()
      激活此 IIOMetadata对象的已安装的 IIOMetadataController ,并返回结果值。
      abstract Node getAsTree​(String formatName)
      根据给定元数据格式定义的约定,返回一个XML DOM Node对象,该对象表示该对象中包含的元数据树的根。
      IIOMetadataController getController​()
      返回当前安装的 IIOMetadataController
      IIOMetadataController getDefaultController​()
      返回默认的 IIOMetadataController ,如果有一个,不管当前安装的控制器。
      String[] getExtraMetadataFormatNames​()
      返回的数组 String含的附加的元数据格式,比天然和标准格式,此插件中的识别名字小号 getAsTreesetFromTree ,和 mergeTree方法。
      IIOMetadataFormat getMetadataFormat​(String formatName)
      返回一个 IIOMetadataFormat对象描述给定的元数据格式,或 null如果没有可用的描述。
      String[] getMetadataFormatNames​()
      返回数组 String包含的所有元数据格式的名称,包括本地和标准格式,通过此插件的认为科学 getAsTreesetFromTree ,并 mergeTree方法。
      String getNativeMetadataFormatName​()
      返回此插件的“本机”元数据格式的名称,通常允许以该插件处理的格式存储的元数据进行无损编码和传输。
      protected IIOMetadataNode getStandardChromaNode​()
      返回 IIOMetadataNode表示标准的色度信息 javax_imageio_1.0元数据格式,或 null如果没有这样的信息是可用的。
      protected IIOMetadataNode getStandardCompressionNode​()
      返回 IIOMetadataNode表示标准的压缩信息 javax_imageio_1.0元数据格式,或 null如果没有这样的信息是可用的。
      protected IIOMetadataNode getStandardDataNode​()
      返回 IIOMetadataNode表示标准的数据格式信息 javax_imageio_1.0元数据格式,或 null如果没有这样的信息是可用的。
      protected IIOMetadataNode getStandardDimensionNode​()
      返回 IIOMetadataNode表示标准的尺寸信息 javax_imageio_1.0元数据格式,或 null如果没有这样的信息是可用的。
      protected IIOMetadataNode getStandardDocumentNode​()
      返回 IIOMetadataNode表示标准的文档信息 javax_imageio_1.0元数据格式,或 null如果没有这样的信息是可用的。
      protected IIOMetadataNode getStandardTextNode​()
      返回 IIOMetadataNode表示标准的文字信息 javax_imageio_1.0元数据格式,或 null如果没有这样的信息是可用的。
      protected IIOMetadataNode getStandardTileNode​()
      返回 IIOMetadataNode表示标准的平铺信息 javax_imageio_1.0元数据格式,或 null如果没有这样的信息是可用的。
      protected IIOMetadataNode getStandardTransparencyNode​()
      返回 IIOMetadataNode表示标准的透明度信息 javax_imageio_1.0元数据格式,或 null如果没有这样的信息是可用的。
      protected IIOMetadataNode getStandardTree​()
      根据标准 javax_imageio_1.0元数据格式的约定,返回表示包含在该对象内的元数据的一个 IIOMetadataNode的树的实用方法。
      boolean hasController​()
      如果为此 IIOMetadata对象安装了控制器,则返回 true
      abstract boolean isReadOnly​()
      返回 true如果此对象不支持 mergeTreesetFromTree ,并 reset方法。
      boolean isStandardMetadataFormatSupported​()
      返回 true如果标准元数据格式是由支持 getMetadataFormatgetAsTreesetFromTree ,并 mergeTree
      abstract void mergeTree​(String formatName, Node root)
      从XML DOM Node的树中更改此 IIOMetadata对象的内部状态,其语法由给定的元数据格式定义。
      abstract void reset​()
      将此对象中存储的所有数据重置为默认值,通常是在构建后立即处于该对象的状态,尽管精确的语义是插件特定的。
      void setController​(IIOMetadataController controller)
      设置 IIOMetadataController被用来提供用于此设置 IIOMetadata对象时 activateController方法被调用时,重写所有默认控制器。
      void setFromTree​(String formatName, Node root)
      从XML DOM Node的树中设置此 IIOMetadata对象的内部状态,其语法由给定的元数据格式定义。
    • 字段详细信息

      • standardFormatSupported

        protected boolean standardFormatSupported
        一个布尔值,指示具体子类是否支持通过构造函数设置的标准元数据格式。
      • nativeMetadataFormatName

        protected String nativeMetadataFormatName
        此对象的本机元数据格式的名称,初始化为 null并通过构造函数设置。
      • nativeMetadataFormatClassName

        protected String nativeMetadataFormatClassName
        实现 IIOMetadataFormat并表示原生元数据格式的类的名称,初始化为 null并通过构造函数设置。
      • extraMetadataFormatNames

        protected String[] extraMetadataFormatNames
        该插件支持的格式名称不同于标准和本机格式,初始化为 null并通过构造函数进行设置。
      • extraMetadataFormatClassNames

        protected String[] extraMetadataFormatClassNames
        实现 IIOMetadataFormat的类的名称数组,并表示该插件支持的标准和本机格式之外的元数据格式,初始化为 null并通过构造函数进行设置。
      • defaultController

        protected IIOMetadataController defaultController
        一个IIOMetadataController被建议用作控制器此IIOMetadata对象。 它可以通过getDefaultController检索。 要安装默认控制器,请致电setController(getDefaultController()) 这个实例变量应该由子类设置,它们选择提供自己的默认控制器(通常是GUI)来设置参数。
        另请参见:
        IIOMetadataControllergetDefaultController()
    • 构造方法详细信息

      • IIOMetadata

        protected IIOMetadata​()
        构造一个空的IIOMetadata对象。 子类负责为所有受保护的实例变量提供值,这些变量将允许任何未被覆盖的方法的默认实现来满足他们的合同。 例如, extraMetadataFormatNames不应该有0。
      • IIOMetadata

        protected IIOMetadata​(boolean standardMetadataFormatSupported,
                              String nativeMetadataFormatName,
                              String nativeMetadataFormatClassName,
                              String[] extraMetadataFormatNames,
                              String[] extraMetadataFormatClassNames)
        构造具有给定格式名称和格式类名称的IIOMetadata对象,以及指示是否支持标准格式的布尔值。

        此构造函数不会尝试检查类名的有效性。 无效的类名称可能会在以后的调用中产生异常getMetadataFormat

        参数
        standardMetadataFormatSupported - true如果此对象可以使用标准元数据格式返回或接受DOM树。
        nativeMetadataFormatName - 原生元数据格式的名称,如 String ,如果没有本机格式, null
        nativeMetadataFormatClassName - 本机元数据格式的类的名称,如果没有本机格式, null
        extraMetadataFormatNames - 表示此对象支持的其他格式的 String s的数组,如果没有, null
        extraMetadataFormatClassNames -的阵列 String以及指示由该对象,或支持的其他任何格式的类名称 null如果有没有。
        异常
        IllegalArgumentException - 如果 extraMetadataFormatNames长度为0。
        IllegalArgumentException - 如果 extraMetadataFormatNamesextraMetadataFormatClassNames既不都是 null ,也不是相同的长度。
    • 方法详细信息

      • isReadOnly

        public abstract boolean isReadOnly​()
        返回 true如果此对象不支持 mergeTreesetFromTree ,并 reset方法。
        结果
        如果这个 IIOMetadata对象无法修改, IIOMetadata true。
      • getNativeMetadataFormatName

        public String getNativeMetadataFormatName​()
        返回此插件的“本机”元数据格式的名称,通常允许以该插件处理的格式存储的元数据进行无损编码和传输。 如果不支持这样的格式,将返回null

        “本机”元数据格式的结构和内容由创建此IIOMetadata对象的插件定义。 简单格式的插件通常会为根创建一个虚拟节点,然后创建一系列表示各个标签,块或关键字/值对的子节点。 插件可以选择是否记录其本机格式。

        默认实现返回值为nativeMetadataFormatName实例变量。

        结果
        原生格式的名称,或 null
        另请参见:
        getExtraMetadataFormatNames()getMetadataFormatNames()
      • getMetadataFormatNames

        public String[] getMetadataFormatNames​()
        返回数组String包含的所有元数据格式的名称,包括本地和标准格式,通过此插件的认为科学getAsTreesetFromTree ,并mergeTree方法。 如果没有这样的格式,则返回null

        默认实现调用getNativeMetadataFormatNameisStandardMetadataFormatSupported ,并getExtraMetadataFormatNames并返回合并后的结果。

        结果
        一个 String的阵列。
        另请参见:
        getNativeMetadataFormatName()isStandardMetadataFormatSupported()getExtraMetadataFormatNames()
      • getMetadataFormat

        public IIOMetadataFormat getMetadataFormat​(String formatName)
        返回一个IIOMetadataFormat对象描述给定的元数据格式,或null如果没有可用的描述。 提供的名称必须是getMetadataFormatNames返回的其中一个( ,本机格式名称,标准格式名称或由getExtraMetadataFormatNames返回的其中一个)。

        默认实现根据全局标准元数据格式名称检查名称,如果支持该格式则返回该格式。 否则,它会检查本机格式名称,后跟任何其他格式名称。 如果找到匹配项,它会根据IIOMetadataFormatnativeMetadataFormatClassNameextraMetadataFormatClassNames检索IIOMetadataFormat类的名称,并使用其getInstance方法构建该类的实例。

        参数
        formatName - 所需的元数据格式。
        结果
        一个 IIOMetadataFormat对象。
        异常
        IllegalArgumentException - 如果 formatNamenull或不是插件识别的名称之一。
        IllegalStateException - 如果与格式名称对应的类无法加载。
      • mergeTree

        public abstract void mergeTree​(String formatName,
                                       Node root)
                                throws IIOInvalidTreeException
        从XML DOM Node的树中更改此IIOMetadata对象的内部状态,其语法由给定的元数据格式定义。 之前的状态仅在必要时被改变以适应给定树中存在的节点。 如果树结构或内容无效,将抛出IIOInvalidTreeException

        由于树或子树可能与另一棵树合并的语义完全是格式特定的,插件作者可以以任何最适合格式的方式实现此方法,包括简单地将所有现有状态替换为给定树。

        参数
        formatName - 所需的元数据格式。
        root - 形成树根的XML DOM Node对象。
        异常
        IllegalStateException - 如果此对象是只读的。
        IllegalArgumentException - 如果 formatNamenull或不是由 getMetadataFormatNames返回的名称 getMetadataFormatNames
        IllegalArgumentException - 如果 rootnull
        IIOInvalidTreeException - 如果无法使用给定格式的规则成功解析树。
        另请参见:
        getMetadataFormatNames()getAsTree(java.lang.String)setFromTree(java.lang.String, org.w3c.dom.Node)
      • getStandardChromaNode

        protected IIOMetadataNode getStandardChromaNode​()
        返回IIOMetadataNode表示标准的色度信息javax_imageio_1.0元数据格式,或null如果没有这样的信息是可用的。 该方法旨在由公用程序getStandardTree

        默认实现返回null

        如果子类希望支持标准元数据格式,则子类应该重写此方法以生成适当的子树。

        结果
        一个 IIOMetadataNode ,或 null
        另请参见:
        getStandardTree()
      • getStandardCompressionNode

        protected IIOMetadataNode getStandardCompressionNode​()
        返回IIOMetadataNode表示标准的压缩信息javax_imageio_1.0元数据格式,或null如果没有这样的信息是可用的。 该方法意图由实用程序getStandardTree

        默认实现返回null

        如果子类希望支持标准元数据格式,则子类应该重写此方法以生成适当的子树。

        结果
        一个 IIOMetadataNode ,或 null
        另请参见:
        getStandardTree()
      • getStandardDataNode

        protected IIOMetadataNode getStandardDataNode​()
        返回IIOMetadataNode表示标准的数据格式信息javax_imageio_1.0元数据格式,或null如果没有这样的信息是可用的。 该方法旨在由公用程序getStandardTree

        默认实现返回null

        如果子类希望支持标准元数据格式,则子类应该重写此方法以生成适当的子树。

        结果
        一个 IIOMetadataNodenull
        另请参见:
        getStandardTree()
      • getStandardDimensionNode

        protected IIOMetadataNode getStandardDimensionNode​()
        返回IIOMetadataNode表示标准的尺寸信息javax_imageio_1.0元数据格式,或null如果没有这样的信息是可用的。 该方法意图由公用程序getStandardTree

        默认实现返回null

        如果子类希望支持标准元数据格式,则子类应该重写此方法以生成适当的子树。

        结果
        一个 IIOMetadataNode ,或 null
        另请参见:
        getStandardTree()
      • getStandardDocumentNode

        protected IIOMetadataNode getStandardDocumentNode​()
        返回IIOMetadataNode表示标准的文档信息javax_imageio_1.0元数据格式,或null如果没有这样的信息是可用的。 该方法旨在由公用程序getStandardTree

        默认实现返回null

        如果子类希望支持标准元数据格式,则子类应该重写此方法以生成适当的子树。

        结果
        一个 IIOMetadataNodenull
        另请参见:
        getStandardTree()
      • getStandardTextNode

        protected IIOMetadataNode getStandardTextNode​()
        返回IIOMetadataNode表示标准的文字信息javax_imageio_1.0元数据格式,或null如果没有这样的信息是可用的。 该方法旨在由效用程序getStandardTree

        默认实现返回null

        如果子类希望支持标准元数据格式,则子类应该重写此方法以生成适当的子树。

        结果
        一个 IIOMetadataNodenull
        另请参见:
        getStandardTree()
      • getStandardTileNode

        protected IIOMetadataNode getStandardTileNode​()
        返回IIOMetadataNode表示标准的平铺信息javax_imageio_1.0元数据格式,或null如果没有这样的信息是可用的。 该方法旨在由效用程序getStandardTree

        默认实现返回null

        如果子类希望支持标准元数据格式,则子类应该重写此方法以生成适当的子树。

        结果
        一个 IIOMetadataNodenull
        另请参见:
        getStandardTree()
      • getStandardTransparencyNode

        protected IIOMetadataNode getStandardTransparencyNode​()
        返回IIOMetadataNode表示标准的透明度信息javax_imageio_1.0元数据格式,或null如果没有这样的信息是可用的。 该方法旨在由实用程序getStandardTree

        默认实现返回null

        如果子类希望支持标准元数据格式,则子类应该重写此方法以生成适当的子树。

        结果
        一个 IIOMetadataNode ,或 null
      • setController

        public void setController​(IIOMetadataController controller)
        设置IIOMetadataController被用来提供用于此设置IIOMetadata对象时activateController方法被调用时,重写所有默认控制器。 如果参数为null ,则不会使用任何控制器,包括任何默认值。 要恢复默认值,请使用setController(getDefaultController())

        默认实现将controller实例变量设置为提供的值。

        参数
        controller - 适当的 IIOMetadataControllernull
        另请参见:
        IIOMetadataControllergetController()getDefaultController()hasController()activateController()
      • activateController

        public boolean activateController​()
        激活此IIOMetadata对象的已安装的IIOMetadataController ,并返回结果值。 当此方法返回true ,此IIOMetadata对象的所有值将准备好进行下一次写入操作。 如果返回false则此对象中的设置不会受到干扰( 用户取消了该操作)。

        通常,控制器将是为特定插件提供IIOMetadata子类的用户界面的GUI。 控制器不需要GUI。

        默认实现调用getController和电话activate对返回的对象,如果hasController回报true

        结果
        true如果控制器正常完成。
        异常
        IllegalStateException - 如果当前没有安装控制器。
        另请参见:
        IIOMetadataControllersetController(IIOMetadataController)getController()getDefaultController()hasController()