Spec-Zone.ru › OpenJDK 24

Класс 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")
 
будет именованной операцией для получения свойства с именем "цвет" у объекта, к которому она применяется, а
     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()
Возвращает строковое представление этой именованной операции.

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

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

Методы, объявленные в интерфейсе jdk.dynalink.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(java.lang.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, если это не именованная операция.

© 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://download.java.net/java/early_access/jdk24/docs/api/jdk.dynalink/jdk/dynalink/NamedOperation.html

Spec-Zone.ru

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