Module jdk.dynalink
Package jdk.dynalink

Class SecureLookupSupplier

java.lang.Object
jdk.dynalink.SecureLookupSupplier
Direct Known Subclasses:
CallSiteDescriptor

public class SecureLookupSupplier extends Object
Provides security-checked access to a MethodHandles.Lookup object. See getLookup() for details.
  • 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:
  • Constructor Details

    • SecureLookupSupplier

      public SecureLookupSupplier(MethodHandles.Lookup lookup)
      Creates a new secure lookup supplier, securing the passed 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.
      Throws:
      SecurityException - if the secured lookup isn't the MethodHandles.publicLookup(), and a security manager is present, and a check for RuntimePermission("dynalink.getLookup") fails.
    • getLookupPrivileged

      protected final MethodHandles.Lookup getLookupPrivileged()
      Returns the value of getLookup() without a security check. Can be used by subclasses to access the lookup quickly.
      Returns:
      same as returned value of getLookup().