# Interface DirectMethodHandleDesc

All Superinterfaces:
  `ConstantDesc, MethodHandleDesc`

public sealed interface DirectMethodHandleDesc extends MethodHandleDesc
A nominal descriptor for a direct `MethodHandle`. A DirectMethodHandleDesc corresponds to a `Constant_MethodHandle_info` entry in the constant pool of a classfile.

Since:
  12

## Nested Class Summary

Nested Classes
Modifier and Type
Interface
Description
`static enum`
`DirectMethodHandleDesc.Kind`
Kinds of method handles that can be described with DirectMethodHandleDesc.

## Method Summary

Modifier and Type
Method
Description
`boolean`
`isOwnerInterface()`
Indicates if the method is declared by an interface
`DirectMethodHandleDesc.Kind`
`kind()`
Returns the `kind` of the method handle described by this nominal descriptor.
`String`
`lookupDescriptor()`
Returns the lookup descriptor of the method handle described by this descriptor, after adjusting for the invocation mode.
`String`
`methodName()`
Returns the name of the method or field described by this nominal descriptor.
`ClassDesc`
`owner()`
Returns a `ClassDesc` describing the class declaring the method or field described by this nominal descriptor.
`int`
`refKind()`
Returns the `refKind` of the method handle described by this nominal reference, as defined by `MethodHandleInfo`.

### Methods declared in interface MethodHandleDesc

`asType, equals, invocationType, resolveConstantDesc`

## Method Details

### kind

DirectMethodHandleDesc.Kind kind()
Returns the `kind` of the method handle described by this nominal descriptor.

Returns:
  the `DirectMethodHandleDesc.Kind`

### refKind

int refKind()
Returns the `refKind` of the method handle described by this nominal reference, as defined by `MethodHandleInfo`.

Returns:
  the reference kind

### isOwnerInterface

boolean isOwnerInterface()
Indicates if the method is declared by an interface

Returns:
  true if the method is declared by an interface

### owner

ClassDesc owner()
Returns a `ClassDesc` describing the class declaring the method or field described by this nominal descriptor.

Returns:
  the class declaring the method or field

### methodName

String methodName()
Returns the name of the method or field described by this nominal descriptor. For constructors, returns the reserved name "<init>".

Returns:
  the name of the method or field

### lookupDescriptor

String lookupDescriptor()
Returns the lookup descriptor of the method handle described by this descriptor, after adjusting for the invocation mode. This will correspond to either a method type descriptor string (for methods and constructors), or a field descriptor string (for field access method handles). The lookup descriptor string is in the same format as accepted by `MethodHandleDesc.of(Kind, ClassDesc, String, String)`.

Returns:
  the lookup descriptor string