Module  java.management

Class CompositeDataSupport

    • 构造方法摘要

      构造方法  
      Constructor 描述
      CompositeDataSupport​(CompositeType compositeType, String[] itemNames, Object[] itemValues)
      构造一个 CompositeDataSupport实例与指定 compositeType ,其项值由指定 itemValues[] ,以相同的顺序为 itemNames[]
      CompositeDataSupport​(CompositeType compositeType, Map<String,?> items)
      构造具有指定的 compositeTypeCompositeDataSupport实例,其中项目名称和对应的值由映射 items中的映射 items
    • 构造方法详细信息

      • CompositeDataSupport

        public CompositeDataSupport​(CompositeType compositeType,
                                    String[] itemNames,
                                    Object[] itemValues)
                             throws OpenDataException

        构造一个CompositeDataSupport实例与指定compositeType ,其项值由指定itemValues[] ,以相同的顺序为itemNames[] 由于CompositeType在其项目上未指定任何订单,因此itemNames[]参数用于指定itemValues[]中给定值的顺序。 CompositeDataSupport实例中包含的项目内部存储在TreeMap ,因此按其名称的升序字典顺序排序,以更快地检索单个项目值。

        构造函数检查下面列出的每个参数的所有约束是否满足,如果没有,则抛出适当的异常。

        参数
        compositeType - 此复合数据实例的复合类型 ; 不能为空。
        itemNames - itemNames必须以任何顺序列出compositeType定义的所有项目名称; 列出名称的顺序用于匹配itemValues[]中的值; 不能为null或为空。
        itemValues -的项目,在以相同的顺序作为各自的名字中列出的值itemNames ; 每个项目值可以为null,但是如果它是非空的,则它必须是compositeType为相应项目定义的开放类型的compositeType ; 必须与itemNames尺寸相同; 不能为null或为空。
        异常
        IllegalArgumentException - compositeType为空,或 itemNames[]itemValues[]是空值或空白,或在元件中的一个 itemNames[]是空或空字符串,或 itemNames[]itemValues[]的大小相同的不。
        OpenDataException - itemNames[]itemValues[]的大小从所限定的项数不同 compositeType ,或在元件中的一个 itemNames[]不存在如在定义的项名称 compositeType ,或在元件中的一个 itemValues[]不是为一有效的值相应项目如 compositeType所定义。
      • CompositeDataSupport

        public CompositeDataSupport​(CompositeType compositeType,
                                    Map<String,?> items)
                             throws OpenDataException

        构造具有指定的compositeTypeCompositeDataSupport实例,其中项目名称和对应的值由映射items中的映射items 此构造函数将键转换为字符串数组,将值转换为对象数组,并调用CompositeDataSupport(javax.management.openmbean.CompositeType, java.lang.String[], java.lang.Object[])

        参数
        compositeType - 此复合数据实例的复合类型 ; 不能为空。
        items - 所有项目名称与其值的映射; items必须包含compositeType定义的所有项目名称; 不能为null或为空。
        异常
        IllegalArgumentException - compositeType为空,或 items为空或为空,或 items中的一个键为空或空字符串。
        OpenDataException - items的大小与定义的项目数不同 compositeType ,或在键之一 items不存在如在定义的项名称 compositeType ,或在其中一个值 items不是对应的项目作为有效值在 compositeType定义。
        ArrayStoreException -在一个或多个键 items是类的不 java.lang.String
    • 方法详细信息

      • getAll

        public Object[] getAll​(String[] keys)
        返回其名称由被指定的项目的值的数组 keys ,以相同的顺序为 keys
        Specified by:
        getAll在接口 CompositeData
        参数
        keys - 项目的名称。
        结果
        与键对应的值。
        异常
        IllegalArgumentException -如果在元件 keys为空或空字符串。
        InvalidKeyException -如果一个元素 keys不是这个现有项目的名称 CompositeData实例。
      • containsKey

        public boolean containsKey​(String key)
        返回true当且仅当此CompositeData实例包含名称是项目key 如果key为空或空字符串,则此方法只返回false。
        Specified by:
        containsKey在接口 CompositeData
        参数
        key - 要测试的关键。
        结果
        如果这个 CompositeData包含密钥, CompositeData true。
      • containsValue

        public boolean containsValue​(Object value)
        返回 true当且仅当此 CompositeData实例包含值为 value的项目时。
        Specified by:
        containsValue在接口 CompositeData
        参数
        value - 要测试的值。
        结果
        如果此 CompositeData true。
      • values

        public Collection<?> values​()
        返回此CompositeData实例中包含的项目值的不可修改的集合视图。 返回的集合的迭代器将以相应项目名称的升序字典顺序返回值。
        Specified by:
        values在接口 CompositeData
        结果
        价值。
      • equals

        public boolean equals​(Object obj)
        将指定的obj参数与此CompositeDataSupport实例进行比较以获得相等性。

        如果且仅当以下所有语句均为真时,则返回true

        • obj是非空,
        • obj还实现了CompositeData接口,
        • 它们的复合类型是相等的
        • 它们的内容,即(名称,值)对相等。 如果内容中包含的值是数组,则可以像对象引用类型的数组一样调用deepEquals方法或对原始类型数组的适当重载Arrays.equals(e1,e2)完成数值比较

        这确保了此equals方法正常工作对作为不同实现的obj参数CompositeData接口,具有在所提到的限制equals所述的方法java.util.Collection接口。

        Specified by:
        equals在接口 CompositeData
        重写:
        equalsObject
        参数
        obj - 要与 CompositeDataSupport实例相等的对象。
        结果
        true如果指定的对象等于此 CompositeDataSupport实例。
        另请参见:
        Object.hashCode()HashMap
      • hashCode

        public int hashCode​()
        返回此CompositeDataSupport实例的哈希码值。

        CompositeDataSupport实例的哈希码是equals比较中使用的所有信息元素(即:其复合类型和所有项目值)的哈希码的总和。

        这确保t1.equals(t2)意味着t1.hashCode()==t2.hashCode()对于任何两个CompositeDataSupport实例t1t2 ,根据方法Object.hashCode()的一般合同的要求

        每个项目值的哈希码被添加到返回的哈希码。 如果一个项目值是一个数组,那么它的哈希码就像通过调用对象引用类型的数组的deepHashCode方法或者原始类型数组的适当重载Arrays.hashCode(e)获得。

        Specified by:
        hashCode在接口 CompositeData
        重写:
        hashCodeObject
        结果
        这个 CompositeDataSupport实例的哈希码值
        另请参见:
        Object.equals(java.lang.Object)System.identityHashCode(java.lang.Object)
      • toString

        public String toString​()
        返回此CompositeDataSupport实例的字符串表示形式。

        字符串表示由此类的名称(即javax.management.openmbean.CompositeDataSupport )组成,该实例的复合类型的字符串表示形式和内容的字符串表示形式(即列出itemName = itemValue映射)。

        Specified by:
        toString在接口 CompositeData
        重写:
        toStringObject
        结果
        这个 CompositeDataSupport实例的字符串表示形式