# Uses of Interface
jdk.dynalink.Operation

Packages that use Operation
Package
Description
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
Modifier and Type
Class
Description
`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
Modifier and Type
Method
Description
`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
Modifier and Type
Method
Description
`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
Modifier
Constructor
Description
``
`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.