# Class SecureLookupSupplier

java.lang.Object
jdk.dynalink.SecureLookupSupplier

Direct Known Subclasses:
  `CallSiteDescriptor`

public class SecureLookupSupplier extends Object
Encapsulates a `MethodHandles.Lookup` object.

API Note:
  SecureLookupSupplier provided a way in older JDK releases to guard access to a `MethodHandles.Lookup` object when running with a security manager set.
Since:
  9

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `GET_LOOKUP_PERMISSION_NAME`
  The name of a runtime permission required to successfully invoke the `getLookup()` method.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `SecureLookupSupplier(MethodHandles.Lookup lookup)`
  Creates a new secure lookup supplier for the given lookup.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `final MethodHandles.Lookup`
  `getLookup()`
  Returns the lookup secured by this `SecureLookupSupplier`.
  `protected final MethodHandles.Lookup`
  `getLookupPrivileged()`
  Returns the lookup secured by this `SecureLookupSupplier`.

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

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

- ## Field Details

  - ### GET_LOOKUP_PERMISSION_NAME

    public static final String GET_LOOKUP_PERMISSION_NAME
    The name of a runtime permission required to successfully invoke the `getLookup()` method.
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### SecureLookupSupplier

    public SecureLookupSupplier(MethodHandles.Lookup lookup)
    Creates a new secure lookup supplier for the given lookup.
    Parameters:
      `lookup` - the lookup to secure. Can not be null.
    Throws:
      `NullPointerException` - if null is passed.

- ## Method Details

  - ### getLookup

    public final MethodHandles.Lookup getLookup()
    Returns the lookup secured by this `SecureLookupSupplier`.
    Returns:
      the lookup secured by this `SecureLookupSupplier`.

  - ### getLookupPrivileged

    protected final MethodHandles.Lookup getLookupPrivileged()
    Returns the lookup secured by this `SecureLookupSupplier`.
    Returns:
      same as returned value of `getLookup()`.