java.lang.Object
jdk.dynalink.NamedOperation
- 所有已实现的接口:
Operation
将一个名称与另一个操作相关联的操作。通常与通常采用名称或索引以将它们绑定到固定名称的操作一起使用。例如,
new NamedOperation(
new NamespaceOperation(
StandardOperation.GET,
StandardNamespace.PROPERTY),
"color")
将是一个命名操作,用于在它所应用的对象上获取名为“color”的属性,而
new NamedOperation(
new NamespaceOperation(
StandardOperation.GET,
StandardNamespace.ELEMENT),
3)
将是一个命名操作,用于从它所应用的集合中获取索引 3 处的元素(在此为“name”) context 类似于“地址”,包括文本名称、数字索引或链接器可以理解的任何其他类型的寻址)。在这些情况下,操作调用站点的预期签名将更改为不再包含名称参数。具体来说,所有 StandardOperation 成员的文档描述了它们如何因被并入命名操作而受到影响。
虽然 NamedOperation 可以直接构造,但使用 Operation.named(Object) 工厂方法通常更方便,例如:
StandardOperation.GET
.withNamespace(StandardNamespace.ELEMENT),
.named(3)
)
尽管 NamedOperation 最常以 NamespaceOperation 作为其基础,但它也可以将其他操作作为其基础(另一个命名操作除外)。具体来说,StandardOperation.CALL 和 StandardOperation.NEW 都可以直接与 NamedOperation 一起使用。这些操作的契约是这样的,当它们用作命名操作时,它们的名称仅用于诊断消息,通常包含检索被调用者的源表达式的文本表示,例如 StandardOperation.CALL.named("window.open") 。
-
构造方法总结
构造方法 -
方法总结
修饰符和类型方法描述final NamedOperationchangeName(String newName) 查找或创建仅在名称上与此操作不同的命名操作。boolean将此命名操作与另一个对象进行比较。返回此命名操作的基本操作。static Operation如果传递的操作是命名操作,则返回其getBaseOperation(),否则按原样返回操作。getName()返回此命名操作的名称。static Object如果传递的操作是命名操作,则返回其getName(),否则返回 null。inthashCode()返回此命名操作的哈希码。toString()返回此命名操作的字符串表示形式。在接口 jdk.dynalink.Operation 中声明的方法
named, withNamespace, withNamespaces
-
构造方法详细信息
-
NamedOperation
创建一个新的命名操作。- 参数:
baseOperation- 与名称关联的基本操作。name- 与基本操作关联的名称。请注意,名称不一定是字符串,可以是任意对象。由于该名称用于寻址,因此当用作数组或列表等的索引时,它可以是Integer。- 抛出:
NullPointerException- 如果baseOperation或name为空。IllegalArgumentException- 如果baseOperation本身就是一个NamedOperation。
-
-
方法详情
-
getBaseOperation
返回此命名操作的基本操作。- 返回:
- 此命名操作的基本操作。
-
getName
返回此命名操作的名称。- 返回:
- 此命名操作的名称。
-
changeName
查找或创建仅在名称上与此操作不同的命名操作。- 参数:
newName- 用于替换旧名称的新名称。- 返回:
- 具有更改名称的命名操作。
- 抛出:
NullPointerException- 如果名称为空。
-
equals
将此命名操作与另一个对象进行比较。如果另一个对象也是命名操作,并且它们的基本操作和名称相等,则返回 true。 -
hashCode
public int hashCode()返回此命名操作的哈希码。它被定义为等于baseOperation.hashCode() + 31 * name.hashCode()。 -
toString
返回此命名操作的字符串表示形式。它被定义为等于baseOperation.toString() + ":" + name.toString()。 -
getBaseOperation
如果传递的操作是命名操作,则返回其getBaseOperation(),否则按原样返回操作。- 参数:
op- 操作- 返回:
- 传递操作的基础操作。
-
getName
如果传递的操作是命名操作,则返回其getName(),否则返回 null。请注意,命名操作对象永远不能有空名称,因此返回 null 表示传递的操作实际上不是命名操作。- 参数:
op- 操作- 返回:
- 传递的操作中的名称,如果它不是命名操作,则为 null。
-