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
    Modifier | Constructor | Description
    --- | --- | ---
    `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.