Class NamedOperation
java.lang.Object
jdk.dynalink.NamedOperation
- All Implemented Interfaces:
- Operation
Operation that associates a name with another operation. Typically used with
 operations that normally take a name or an index to bind them to a fixed
 name. E.g.
 
     new NamedOperation(
         new NamespaceOperation(
             StandardOperation.GET,
             StandardNamespace.PROPERTY),
         "color")
 
 will be a named operation for getting the property named "color" on the
 object it is applied to, and
 
     new NamedOperation(
         new NamespaceOperation(
             StandardOperation.GET,
             StandardNamespace.ELEMENT),
         3)
 
 will be a named operation for getting the element at index 3 from the collection
 it is applied to ("name" in this context is akin to "address" and encompasses both
 textual names, numeric indices, or any other kinds of addressing that linkers can
 understand). In these cases, the expected signature of the call site for the
 operation will change to no longer include the name parameter. Specifically,
 the documentation for all StandardOperation members describes how
 they are affected by being incorporated into a named operation.
 While NamedOperation can be constructed directly, it is often convenient
 to use the Operation.named(Object) factory method instead, e.g.:
 
    StandardOperation.GET
        .withNamespace(StandardNamespace.ELEMENT),
        .named(3)
     )
 
 
 Even though NamedOperation is most often used with NamespaceOperation as
 its base, it can have other operations as its base too (except another named operation).
 Specifically, StandardOperation.CALL as well as StandardOperation.NEW can
 both be used with NamedOperation directly. The contract for these operations is such
 that when they are used as named operations, their name is only used for diagnostic messages,
 usually containing the textual representation of the source expression that retrieved the
 callee, e.g. StandardOperation.CALL.named("window.open").
 
- Since:
- 9
- 
Constructor SummaryConstructorsConstructorDescriptionNamedOperation(Operation baseOperation, Object name) Creates a new named operation.
- 
Method SummaryModifier and TypeMethodDescriptionfinal NamedOperationchangeName(String newName) Finds or creates a named operation that differs from this one only in the name.booleanCompares this named operation to another object.Returns the base operation of this named operation.static OperationIf the passed operation is a named operation, returns itsgetBaseOperation(), otherwise returns the operation as is.getName()Returns the name of this named operation.static ObjectIf the passed operation is a named operation, returns itsgetName(), otherwise returns null.inthashCode()Returns the hash code of this named operation.toString()Returns the string representation of this named operation.Methods declared in class java.lang.Objectclone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods declared in interface jdk.dynalink.Operationnamed, withNamespace, withNamespaces
- 
Constructor Details- 
NamedOperationCreates a new named operation.- Parameters:
- baseOperation- the base operation that is associated with a name.
- name- the name associated with the base operation. Note that the name is not necessarily a string, but can be an arbitrary object. As the name is used for addressing, it can be an- Integerwhen meant to be used as an index into an array or list etc.
- Throws:
- NullPointerException- if either- baseOperationor- nameis null.
- IllegalArgumentException- if- baseOperationis itself a- NamedOperation.
 
 
- 
- 
Method Details- 
getBaseOperationReturns the base operation of this named operation.- Returns:
- the base operation of this named operation.
 
- 
getNameReturns the name of this named operation.- Returns:
- the name of this named operation.
 
- 
changeNameFinds or creates a named operation that differs from this one only in the name.- Parameters:
- newName- the new name to replace the old name with.
- Returns:
- a named operation with the changed name.
- Throws:
- NullPointerException- if the name is null.
 
- 
equalsCompares this named operation to another object. Returns true if the other object is also a named operation, and both their base operations and name are equal.
- 
hashCode
- 
toString
- 
getBaseOperationIf the passed operation is a named operation, returns itsgetBaseOperation(), otherwise returns the operation as is.- Parameters:
- op- the operation
- Returns:
- the base operation of the passed operation.
 
- 
getNameIf the passed operation is a named operation, returns itsgetName(), otherwise returns null. Note that a named operation object can never have a null name, therefore returning null is indicative that the passed operation is not, in fact, a named operation.- Parameters:
- op- the operation
- Returns:
- the name in the passed operation, or null if it is not a named operation.
 
 
-