Класс CompositeType
- Все реализованные интерфейсы:
Serializable
public class CompositeType extends OpenType<CompositeData>
CompositeType — это класс открытого типа, экземпляры которого описывают типы значений CompositeData.- Начиная с версии:
- 1.5
- См. также:
Краткое описание полей
Поля, объявленные в классе OpenType
ALLOWED_CLASSNAMES, ALLOWED_CLASSNAMES_LIST
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
CompositeType |
Создаёт экземпляр CompositeType, проверяя допустимость заданных параметров. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
containsKey |
Возвращает true, если этот экземпляр CompositeType определяет элемент с именем itemName. |
boolean |
equals |
Сравнивает указанный параметр obj с этим экземпляром CompositeType на равенство. |
String |
getDescription |
Возвращает описание элемента с именем itemName или null, если этот экземпляр CompositeType не определяет элемент с именем itemName. |
OpenType |
getType |
Возвращает открытый тип элемента с именем itemName или null, если этот экземпляр CompositeType не определяет элемент с именем itemName. |
int |
hashCode() |
Возвращает хеш-код этого экземпляра CompositeType. |
boolean |
isValue |
Проверяет, является ли obj значением, которое может быть описано этим экземпляром CompositeType. |
Set |
keySet() |
Возвращает неизменяемое представление множества всех имён элементов, определённых этим экземпляром CompositeType. |
String |
toString() |
Возвращает строковое представление этого экземпляра CompositeType. |
Методы, объявленные в классе OpenType
getClassName, getDescription, getTypeName, isArray
Подробное описание конструкторов
CompositeType
public CompositeType(String typeName, String description, String[] itemNames, String[] itemDescriptions, OpenType<?>[] itemTypes) throws OpenDataException
CompositeType, проверяя допустимость заданных параметров. Ограничения допустимости для каждого параметра описаны ниже. Обратите внимание, что содержимое трёх параметров-массивов itemNames, itemDescriptions и itemTypes копируется внутри класса, поэтому последующее изменение этих массивов вызывающим кодом не влияет на созданный экземпляр CompositeType.
Имя класса Java для значений составных данных, представляемых этим составным типом (то есть имя класса, возвращаемое методом getClassName), устанавливается в строковое значение, возвращаемое CompositeData.class.getName().
- Параметры:
-
typeName— имя, присваиваемое составному типу, который представляет этот экземпляр; не может быть null или пустой строкой. -
description— понятное пользователю описание составного типа, который представляет этот экземпляр; не может быть null или пустой строкой. -
itemNames— имена элементов, содержащихся в значениях составных данных, описываемых этим экземпляромCompositeType; не может быть null и должно содержать хотя бы один элемент; ни один элемент не может быть null или пустой строкой. Обратите внимание, что порядок указания имён элементов не имеет значения для различения экземпляровCompositeType; имена элементов хранятся внутри класса в отсортированном по возрастанию буквенно-цифровом порядке. -
itemDescriptions— описания элементов, содержащихся в значениях составных данных, описываемых этим экземпляромCompositeType, в том же порядке, что и itemNames; размер должен совпадать с размером itemNames; ни один элемент не может быть null или пустой строкой. -
itemTypes— экземпляры открытых типов, описывающие элементы, содержащиеся в значениях составных данных, описываемых этим экземпляромCompositeType, в том же порядке, что и itemNames; размер должен совпадать с размером itemNames; ни один элемент не может быть null. - Вызывает исключение:
-
IllegalArgumentException— если typeName или description равны null или являются пустой строкой, если itemNames, itemDescriptions или itemTypes равны null, если какой-либо элемент itemNames или itemDescriptions равен null или является пустой строкой, если какой-либо элемент itemTypes равен null либо если размеры itemNames, itemDescriptions и itemTypes не совпадают. -
OpenDataException— если itemNames содержит повторяющиеся имена элементов (с учётом регистра, но без начальных и конечных пробелов).
Подробное описание методов
containsKey
public boolean containsKey(String itemName)
true, если этот экземпляр CompositeType определяет элемент с именем itemName.- Параметры:
-
itemName— имя элемента. - Возвращает:
- true, если элемент с таким именем присутствует.
getDescription
public String getDescription(String itemName)
null, если этот экземпляр CompositeType не определяет элемент с именем itemName.- Параметры:
-
itemName— имя элемента. - Возвращает:
- описание.
getType
public OpenType<?> getType(String itemName)
null, если этот экземпляр CompositeType не определяет элемент с именем itemName.- Параметры:
-
itemName— имя элемента. - Возвращает:
- тип.
keySet
isValue
public boolean isValue(Object obj)
CompositeType. Если obj равен null или не является экземпляром javax.management.openmbean.CompositeData, isValue возвращает false.
Если obj является экземпляром javax.management.openmbean.CompositeData, то пусть ct — его CompositeType, возвращаемый методом CompositeData.getCompositeType(). Результат равен true, если this является супертипом для ct. Это означает, что:
-
this.getTypeName()равенct.getTypeName(), и - в
thisнет имён элементов, отсутствующих также вct, и - для каждого элемента в
thisего тип является супертипом типа соответствующего элемента вct.
Тип TabularType является супертипом другого типа
TabularType, если у них совпадают typeName и список имён индексов, а тип строки первого является супертипом типа строки второго.
Тип ArrayType является супертипом другого типа
ArrayType, если у них совпадает размерность; оба являются массивами примитивов либо ни один из них не является таковым; а тип элемента первого является супертипом типа элемента второго.
Во всех остальных случаях тип OpenType является супертипом другого типа OpenType, только если они равны.
Согласно этим правилам, в
CompositeData можно добавлять дополнительные элементы, не делая его недопустимым для CompositeType, в котором этих элементов нет.
- Определён в:
-
isValueв классеOpenType<CompositeData> - Параметры:
-
obj— значение, открытый тип которого необходимо проверить на совместимость с этим экземпляромCompositeType. - Возвращает:
-
true, если obj является значением этого составного типа; в противном случае —false.
equals
public boolean equals(Object obj)
obj с этим экземпляром CompositeType на равенство. Два экземпляра CompositeType равны тогда и только тогда, когда выполняются все следующие условия:
- их имена типов равны
- имена и типы их элементов равны
- Определён в:
-
equalsв классеOpenType<CompositeData> - Параметры:
-
obj— объект, который необходимо сравнить на равенство с этим экземпляромCompositeType; если obj равенnull,equalsвозвращаетfalse. - Возвращает:
-
true, если указанный объект равен этому экземпляруCompositeType. - См. также:
hashCode
public int hashCode()
CompositeType. Хеш-код экземпляра CompositeType представляет собой сумму хеш-кодов всех элементов информации, используемых при сравнении equals (то есть имени, имён элементов и типов элементов). Это гарантирует, что t1.equals(t2) подразумевает t1.hashCode()==t2.hashCode() для любых двух экземпляров CompositeType t1 и t2, как того требует общий контракт метода Object.hashCode().
Поскольку экземпляры CompositeType неизменяемы, хеш-код этого экземпляра вычисляется один раз при первом вызове hashCode, а при последующих вызовах возвращается то же значение.
toString
public String toString()
CompositeType. Строковое представление состоит из имени этого класса (то есть javax.management.openmbean.CompositeType), имени типа этого экземпляра, а также строкового представления списка имён и типов элементов этого экземпляра.
Поскольку экземпляры CompositeType неизменяемы, строковое представление этого экземпляра вычисляется один раз при первом вызове toString, а при последующих вызовах возвращается то же значение.
- Определён в:
-
toStringв классеOpenType<CompositeData> - Возвращает:
- строковое представление этого экземпляра
CompositeType
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.management/javax/management/openmbean/CompositeType.html