Module jdk.dynalink
Package jdk.dynalink.support

## Class AbstractRelinkableCallSite

- java.lang.Object
- - java.lang.invoke.CallSite
  - - java.lang.invoke.MutableCallSite
    - - jdk.dynalink.support.AbstractRelinkableCallSite

All Implemented Interfaces:
  `RelinkableCallSite`

Direct Known Subclasses:
  `ChainedCallSite`, `SimpleRelinkableCallSite`

    public abstract class AbstractRelinkableCallSite
    extends MutableCallSite
    implements RelinkableCallSite

A basic implementation of the `RelinkableCallSite` as a `MutableCallSite`. It carries a `CallSiteDescriptor` passed in the constructor and provides the correct implementation of the `RelinkableCallSite.initialize(MethodHandle)` method. Subclasses must provide `RelinkableCallSite.relink(GuardedInvocation, MethodHandle)` and `RelinkableCallSite.resetAndRelink(GuardedInvocation, MethodHandle)` methods.

### Constructor Summary

Constructors
`protected` `AbstractRelinkableCallSite​(CallSiteDescriptor descriptor)` Creates a new abstract relinkable call site.

### Method Summary

### Methods declared in class java.lang.invoke.MutableCallSite

`getTarget, setTarget, syncAll`

### Methods declared in class java.lang.invoke.CallSite

`dynamicInvoker, type`

### Methods declared in class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods declared in interface jdk.dynalink.RelinkableCallSite

`getDescriptor, initialize, relink, resetAndRelink`

### Constructor Detail

#### AbstractRelinkableCallSite

    protected AbstractRelinkableCallSite​(CallSiteDescriptor descriptor)

Creates a new abstract relinkable call site.

Parameters:
  `descriptor` - the descriptor for this call site that will be returned from `RelinkableCallSite.getDescriptor()`. The call site's `CallSite.type()` will be equal to descriptor's `CallSiteDescriptor.getMethodType()`.
Throws:
  `NullPointerException` - if `descriptor` is null.