模块  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并且应至少包含一个元素; 没有元素可以是null或空字符串。 请注意,给出项目名称的顺序对于区分CompositeType实例与其他实例并不重要; 项目名称在内部存储,按升序字母数字顺序排序。
        itemDescriptions - 此CompositeType实例描述的复合数据值中包含的项目的描述,与itemNames的顺序相同 ; 应与itemNames的大小相同 ; 没有元素可以为null或空字符串。
        itemTypes - 打开类型实例,与itemNames的顺序相同 ,描述此CompositeType实例描述的复合数据值中包含的项目; 应与itemNames的大小相同 ; 没有元素可以为null。
        异常
        IllegalArgumentException - 如果 typeNamedescription为null或空字符串,或 itemNamesitemDescriptionsitemTypes为null,或 itemNamesitemDescriptions的任何元素为null或空字符串,或 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实例定义的所有项名称的不可修改的Set视图。 set的迭代器将按升序返回项目名称。
        结果
        Set ,共String
      • isValue

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

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

        如果objjavax.management.openmbean.CompositeData的实例,则让ct成为CompositeType返回的CompositeType 如果this 可从 ct 分配,则结果为true。 这意味着:

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

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

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

        在所有其他情况下, 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:
        equals在类 OpenType<CompositeData>
        参数
        obj - 要与此CompositeType实例进行相等性比较的对象; 如果objnullequals返回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 ,此实例的哈希码计算一次,然后为后续调用返回相同的值。

        重写:
        hashCodeObject
        结果
        CompositeType实例的哈希码值
        另请参见:
        Object.equals(java.lang.Object)System.identityHashCode(java.lang.Object)
      • toString

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

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

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

        Specified by:
        toString在类 OpenType<CompositeData>
        结果
        CompositeType实例的字符串表示形式