Spec-Zone.ru › OpenJDK 25

Класс NamedOperation

java.lang.Object
jdk.dynalink.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(Operation baseOperation, Object name)
Создает новую именованную операцию.

Краткое описание методов

Модификатор и тип Метод Описание
final NamedOperation changeName(String newName)
Находит или создает именованную операцию, отличающуюся от этой только именем.
boolean equals(Object obj)
Сравнивает эту именованную операцию с другим объектом.
Operation getBaseOperation()
Возвращает базовую операцию этой именованной операции.
static Operation getBaseOperation(Operation op)
Если переданная операция является именованной, возвращает ее getBaseOperation(), в противном случае возвращает операцию без изменений.
Object getName()
Возвращает имя этой именованной операции.
static Object getName(Operation op)
Если переданная операция является именованной, возвращает ее getName(), в противном случае возвращает null.
int hashCode()
Возвращает хеш-код этой именованной операции.
String toString()
Возвращает строковое представление этой именованной операции.

Методы, объявленные в классе Object

clone, finalize, getClass, notify, notifyAll, wait, wait, wait

Методы, объявленные в интерфейсе Operation

named, withNamespace, withNamespaces

Подробное описание конструкторов

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)
Сравнивает эту именованную операцию с другим объектом. Возвращает true, если другой объект также является именованной операцией, а их базовые операции и имена равны.
Переопределяет:
equals в классе Object
Параметры:
obj — объект-ссылка для сравнения.
Возвращает:
true, если этот объект совпадает с аргументом obj; false в противном случае.
См. также:
  • Object.hashCode()
  • HashMap

hashCode

public int hashCode()
Возвращает хеш-код этой именованной операции. Он определен как равный baseOperation.hashCode() + 31 * name.hashCode().
Переопределяет:
hashCode в классе Object
Возвращает:
значение хеш-кода этого объекта
См. также:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(Object)

toString

public String toString()
Возвращает строковое представление этой именованной операции. Оно определено как равное baseOperation.toString() + ":" + name.toString().
Переопределяет:
toString в классе Object
Возвращает:
строковое представление объекта

getBaseOperation

public static Operation getBaseOperation(Operation op)
Если переданная операция является именованной, возвращает ее getBaseOperation(), в противном случае возвращает операцию без изменений.
Параметры:
op — операция
Возвращает:
базовую операцию переданной операции.

getName

public static Object getName(Operation op)
Если переданная операция является именованной, возвращает ее getName(), в противном случае возвращает null. Обратите внимание, что объект именованной операции не может иметь имя null, поэтому возврат null указывает на то, что переданная операция на самом деле не является именованной.
Параметры:
op — операция
Возвращает:
имя переданной операции или null, если она не является именованной.

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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/jdk.dynalink/jdk/dynalink/NamedOperation.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API