- 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处的元素(在此上下文中的“name”类似于“address”,并包含文本名称,数字索引或链接器可以进行的任何其他类型的寻址了解)。 在这些情况下,操作的调用站点的预期签名将更改为不再包含name参数。 具体而言,所有StandardOperation成员的文档都描述了它们如何通过合并到命名操作中而受到影响。虽然
NamedOperation可以直接构建,但使用Operation.named(Object)工厂方法通常很方便,例如:StandardOperation.GET .withNamespace(StandardNamespace.ELEMENT), .named(3) )尽管
NamedOperation最常用于NamespaceOperation作为其基础,但它也可以将其他操作作为其基础(除了另一个命名操作)。 具体而言,StandardOperation.CALL以及StandardOperation.NEW都可以直接与NamedOperation一起使用。 这些操作的合同是这样的,当它们用作命名操作时,它们的名称仅用于诊断消息,通常包含检索被调用者的源表达式的文本表示,例如StandardOperation.CALL.named("window.open")。
-
-
构造方法摘要
构造方法 构造器 描述 NamedOperation(Operation baseOperation, Object name)创建一个新的命名操作。
-
方法摘要
所有方法 静态方法 实例方法 具体的方法 变量和类型 方法 描述 NamedOperationchangeName(String newName)查找或创建仅在名称中与此不同的命名操作。booleanequals(Object obj)将此命名操作与另一个对象进行比较。OperationgetBaseOperation()返回此命名操作的基本操作。static OperationgetBaseOperation(Operation op)如果传递的操作是命名操作,则返回其getBaseOperation(),否则返回操作。ObjectgetName()返回此命名操作的名称。static ObjectgetName(Operation op)如果传递的操作是命名操作,则返回其getName(),否则返回null。inthashCode()返回此命名操作的哈希码。StringtoString()返回此命名操作的字符串表示形式。-
声明方法的接口 jdk.dynalink.Operation
named, withNamespace, withNamespaces
-
-
-
-
构造方法详细信息
-
NamedOperation
public NamedOperation(Operation baseOperation, Object name)
创建一个新的命名操作。- 参数
-
baseOperation- 与名称关联的基本操作。 -
name- 与基本操作关联的名称。 请注意,名称不一定是字符串,但可以是任意对象。 由于名称用于寻址,因此当用作数组或列表的索引时,它可以是Integer。 - 异常
-
NullPointerException- 如果baseOperation或name为空。 -
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()。
-
getBaseOperation
public static Operation getBaseOperation(Operation op)
如果传递的操作是命名操作,则返回其getBaseOperation(),否则返回操作。- 参数
-
op- 操作 - 结果
- 传递操作的基本操作。
-
-