## Uses of Interface
jdk.dynalink.Operation

Packages that use Operation
jdk.dynalink: Contains interfaces and classes that are used to link an `invokedynamic` call site.

### Uses of Operation in jdk.dynalink

Classes in jdk.dynalink that implement Operation
`class` `NamedOperation` Operation that associates a name with another operation.
`class` `NamespaceOperation` Describes an operation that operates on at least one `Namespace` of an object.
`class` `StandardOperation` Defines the standard dynamic operations.

Methods in jdk.dynalink that return Operation
`Operation` NamedOperation.`getBaseOperation()` Returns the base operation of this named operation.
`static Operation` NamedOperation.`getBaseOperation​(Operation op)` If the passed operation is a named operation, returns its `NamedOperation.getBaseOperation()`, otherwise returns the operation as is.
`Operation` NamespaceOperation.`getBaseOperation()` Returns the base operation of this named operation.
`static Operation` NamespaceOperation.`getBaseOperation​(Operation op)` If the passed operation is a namespace operation, returns its `NamespaceOperation.getBaseOperation()`, otherwise returns the operation as is.
`Operation` CallSiteDescriptor.`getOperation()` Returns the operation at the call site.

Methods in jdk.dynalink with parameters of type Operation
`CallSiteDescriptor` CallSiteDescriptor.`changeOperation​(Operation newOperation)` Finds or creates a call site descriptor that only differs in its operation from this descriptor.
`protected CallSiteDescriptor` CallSiteDescriptor.`changeOperationInternal​(Operation newOperation)` Finds or creates a call site descriptor that only differs in its operation from this descriptor.
`static boolean` NamespaceOperation.`contains​(Operation op, Operation baseOperation, Namespace namespace)` Returns true if the specified operation is a `NamespaceOperation` and its base operation is equal to the specified operation, and it contains the specified namespace.
`static StandardNamespace` StandardNamespace.`findFirst​(Operation op)` If the passed in operation is a `NamespaceOperation`, or a `NamedOperation` wrapping a `NamespaceOperation`, then it returns the first (if any) `StandardNamespace` in its namespace list.
`static Operation` NamedOperation.`getBaseOperation​(Operation op)` If the passed operation is a named operation, returns its `NamedOperation.getBaseOperation()`, otherwise returns the operation as is.
`static Operation` NamespaceOperation.`getBaseOperation​(Operation op)` If the passed operation is a namespace operation, returns its `NamespaceOperation.getBaseOperation()`, otherwise returns the operation as is.
`static Object` NamedOperation.`getName​(Operation op)` If the passed operation is a named operation, returns its `NamedOperation.getName()`, otherwise returns null.
`static Namespace[]` NamespaceOperation.`getNamespaces​(Operation op)` If the passed operation is a namespace operation, returns its `NamespaceOperation.getNamespaces()`, otherwise returns an empty array.

Constructors in jdk.dynalink with parameters of type Operation
`CallSiteDescriptor​(MethodHandles.Lookup lookup, Operation operation, MethodType methodType)` Creates a new call site descriptor.
`NamedOperation​(Operation baseOperation, Object name)` Creates a new named operation.
`NamespaceOperation​(Operation baseOperation, Namespace... namespaces)` Constructs a new namespace operation.