Module  java.management

Class CompositeType

    • 构造方法详细信息

      • CompositeType

        public CompositeType​(String typeName,
                             String description,
                             String[] itemNames,
                             String[] itemDescriptions,
                             OpenType<?>[] itemTypes)
                      throws OpenDataException
        构造一个CompositeType实例,检查给定参数的有效性。 以下对每个参数描述有效性约束。

        请注意,内部复制了三个数组参数itemNamesitemDescriptionsitemTypes的内容,以便此构造函数的调用者对这些数组的任何后续修改对构建的CompositeType实例都没有影响。

        复合类型表示的复合数据值的Java类名称(即getClassName方法返回的类名称)设置为CompositeData.class.getName()返回的字符串值。

        参数
        typeName - 此实例表示的复合类型的名称; 不能为null或空字符串。
        description - 此实例表示的复合类型的人类可读描述; 不能为null或空字符串。
        itemNames - 由CompositeType实例描述的复合数据值中包含的项目的名称; 不能为null,应至少包含一个元素; 没有元素可以是空字符串或空字符串。 请注意,给定项目名称的顺序对于将CompositeType实例与其他实例区CompositeType并不重要; 内部存储的项目名称以升序字母数字顺序排列。
        itemDescriptions - 由该CompositeType实例描述的复合数据值中包含的项目的描述与itemNames的顺序相同 ; 应该与itemNames大小相同 ; 没有元素可以为null或空字符串。
        itemTypes - 与itemNames相同的开放类型实例,描述由该CompositeType实例描述的复合数据值中包含的项目; 应该与itemNames大小相同 ; 没有元素可以为null。
        异常
        IllegalArgumentException - 如果 typeNamedescription是空字符串或空字符串,或 itemNamesitemDescriptionsitemTypes为空,或 itemNamesitemDescriptions的任何元素为空字符串或空字符串,或者 itemTypes的任何元素为null或 itemNamesitemDescriptionsitemTypes不一样大小。
        OpenDataException - 如果 itemNames包含重复的项目名称(区分大小写,但前导和尾随的白名单已删除)。
    • 方法详细信息

      • containsKey

        public boolean containsKey​(String itemName)
        如果此 CompositeType实例定义了名称为 itemName的项目,则返回 true
        参数
        itemName - 项目的名称。
        结果
        如果该名称的项目存在,则为true。
      • getDescription

        public String getDescription​(String itemName)
        返回其名称为 itemName,或该项目的描述 null如果 CompositeType实例不定义其名称为 itemName的任何项目。
        参数
        itemName - 项目的名称。
        结果
        说明。
      • getType

        public OpenType<?> getType​(String itemName)
        返回 开放类型 ,其名称为 itemName,或该项目的 null如果 CompositeType实例不定义其名称为 itemName的任何项目。
        参数
        itemName - 时间的名称。
        结果
        方式。
      • keySet

        public Set<String> keySet​()
        返回此CompositeType实例定义的所有项目名称的不可修改的集合视图。 集合的迭代器将按升序返回项目名称。
        结果
        一个SetString
      • isValue

        public boolean isValue​(Object obj)
        测试obj是否可以由此CompositeType实例描述的值。

        如果obj为空或不是javax.management.openmbean.CompositeData的实例,则isValue返回false

        如果objjavax.management.openmbean.CompositeData一个实例,那么ctCompositeType返回的CompositeType 如果this 可从 ct 分配,则结果为真。 这意味着:

        • this.getTypeName()等于ct.getTypeName() ,和
        • this中没有项目名称不存在于ct ,而
        • 对于this每个项目,其类型可以从ct中的相应项目的类型分配。

        A TabularType可以从另一个TabularType分配,如果它们具有相同的typeNameindex name list ,并且第一个的row type可以从第二行的行类型分配。

        一个ArrayType可以从另一个ArrayType分配,如果他们有相同的dimension ; 并且都是primitive arrays或者都不是; 而第一个的element type可以从第二个元素类型中分配。

        在其他情况下,只有OpenType相等, OpenType可以从另一个OpenType分配OpenType

        这些规则意味着额外的项目可以添加到CompositeData而不会对没有这些项目的CompositeType无效。

        Specified by:
        isValueOpenType<CompositeData>
        参数
        obj - 要与该 CompositeType实例兼容的开放类型的值。
        结果
        true如果 obj是此复合类型的值, false否则。
      • equals

        public boolean equals​(Object obj)
        将指定的obj参数与此CompositeType实例进行比较,以实现相等。

        当且仅当所有以下语句都为真时,两个CompositeType实例相等:

        • 它们的类型名称相等
        • 他们的项目的名称和类型是相等的
        Specified by:
        equalsOpenType<CompositeData>
        参数
        obj - 要与此CompositeType实例相等的对象; 如果objnull ,则equals返回false
        结果
        true如果指定的对象等于此 CompositeType实例。
        另请参见:
        Object.hashCode()HashMap
      • hashCode

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

        CompositeType实例的哈希码是equals比较中使用的所有信息元素的哈希码的总和(即:名称,项目名称,项目类型)。 这确保了t1.equals(t2)意味着t1.hashCode()==t2.hashCode()对于任何两个CompositeType实例t1t2 ,所要求的方法的常规合同Object.hashCode()

        由于CompositeType实例是不可变的,因此在第一次调用hashCode ,会计算一次此实例的哈希码,然后为后续调用返回相同的值。

        Specified by:
        hashCodeOpenType<CompositeData>
        结果
        这个 CompositeType实例的哈希码值
        另请参见:
        Object.equals(java.lang.Object)System.identityHashCode(java.lang.Object)
      • toString

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

        字符串表示由此类的名称(即javax.management.openmbean.CompositeType ),此实例的类型名称以及此实例的项目名称和类型字符串表示形式的列表组成。

        由于CompositeType实例是不可变的,因此在第一次调用toString ,该实例的字符串表示计算一次,然后为后续调用返回相同的值。

        Specified by:
        toStringOpenType<CompositeData>
        结果
        这个 CompositeType实例的字符串表示形式