Класс NamedOperation
- Все реализуемые интерфейсы:
Operation
public final class NamedOperation extends Object implements Operation
new NamedOperation(
new NamespaceOperation(
StandardOperation.GET,
StandardNamespace.PROPERTY),
"color")
будет именованной операцией для получения свойства с именем "color" у объекта, к которому она применяется, а
new NamedOperation(
new NamespaceOperation(
StandardOperation.GET,
StandardNamespace.ELEMENT),
3)
будет именованной операцией для получения элемента с индексом 3 из коллекции, к которой она применяется (в данном контексте «имя» подобно «адресу» и охватывает текстовые имена, числовые индексы и любые другие виды адресации, которые могут распознавать связыватели). В этих случаях ожидаемая сигнатура точки вызова для операции изменится: параметр имени больше не будет включён в неё. В частности, в документации для всех членов StandardOperation описано, как на них влияет включение в именованную операцию. Хотя NamedOperation можно создать напрямую, зачастую удобнее воспользоваться фабричным методом Operation.named(Object), например:
StandardOperation.GET
.withNamespace(StandardNamespace.ELEMENT),
.named(3)
)
Хотя NamedOperation чаще всего используется с NamespaceOperation в качестве базовой операции, в качестве базовой могут использоваться и другие операции (кроме другой именованной операции). В частности, как StandardOperation.CALL, так и StandardOperation.NEW можно использовать непосредственно с NamedOperation. Контракт этих операций предусматривает, что при использовании в качестве именованных имя служит только для диагностических сообщений, обычно содержащих текстовое представление исходного выражения, из которого был получен вызываемый объект, например StandardOperation.CALL.named("window.open").
- Начиная с:
- 9
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
NamedOperation |
Создаёт новую именованную операцию. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
final NamedOperation |
changeName |
Находит или создаёт именованную операцию, отличающуюся от этой только именем. |
boolean |
equals |
Сравнивает эту именованную операцию с другим объектом. |
Operation |
getBaseOperation() |
Возвращает базовую операцию этой именованной операции. |
static Operation |
getBaseOperation |
Если переданная операция является именованной, возвращает её getBaseOperation(), в противном случае возвращает операцию без изменений. |
Object |
getName() |
Возвращает имя этой именованной операции. |
static Object |
getName |
Если переданная операция является именованной, возвращает её getName(), в противном случае возвращает null. |
int |
hashCode() |
Возвращает хеш-код этой именованной операции. |
String |
toString() |
Возвращает строковое представление этой именованной операции. |
Методы, объявленные в классе Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создаёт и возвращает копию этого объекта. |
protected void |
finalize() |
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии. Финализация объявлена устаревшей и подлежит удалению в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания, либо истечения определённого промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания, либо истечения определённого промежутка реального времени. |
Методы, объявленные в интерфейсе Operation
named, withNamespace, withNamespaces | Модификатор и тип | Метод | Описание |
|---|---|---|
default NamedOperation |
named |
Возвращает NamedOperation, используя эту операцию в качестве базовой. |
default NamespaceOperation |
withNamespace |
Возвращает NamespaceOperation, используя эту операцию в качестве базовой. |
default NamespaceOperation |
withNamespaces |
Возвращает NamespaceOperation, используя эту операцию в качестве базовой. |
Подробное описание конструкторов
NamedOperation
public NamedOperation(Operation baseOperation, Object name)
- Параметры:
-
baseOperation— базовая операция, связываемая с именем. -
name— имя, связанное с базовой операцией. Обратите внимание, что имя не обязательно является строкой: это может быть произвольный объект. Поскольку имя используется для адресации, им может бытьInteger, если оно предназначено для использования в качестве индекса массива, списка и т. п. - Исключения:
-
NullPointerException— еслиbaseOperationилиnameимеет значение null. -
IllegalArgumentException— еслиbaseOperationсама являетсяNamedOperation.
Подробное описание методов
getBaseOperation
public Operation getBaseOperation()
- Возвращает:
- базовую операцию этой именованной операции.
getName
public Object getName()
- Возвращает:
- имя этой именованной операции.
changeName
public final NamedOperation changeName(String newName)
- Параметры:
-
newName— новое имя, заменяющее прежнее. - Возвращает:
- именованную операцию с изменённым именем.
- Исключения:
-
NullPointerException— если имя равно null.
equals
public boolean equals(Object obj)
hashCode
toString
getBaseOperation
public static Operation getBaseOperation(Operation op)
getBaseOperation(), в противном случае возвращает операцию без изменений.- Параметры:
-
op— операция - Возвращает:
- базовую операцию переданной операции.
getName
public static Object getName(Operation op)
getName(), в противном случае возвращает null. Обратите внимание, что объект именованной операции никогда не может иметь имя null, поэтому возврат null указывает на то, что переданная операция на самом деле не является именованной.- Параметры:
-
op— операция - Возвращает:
- имя переданной операции или null, если она не является именованной операцией.
© 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.