Module jdk.dynalink
Package jdk.dynalink

Class SecureLookupSupplier

  • Direct Known Subclasses:
    CallSiteDescriptor

    public class SecureLookupSupplier
    extends Object
    Provides security-checked access to a MethodHandles.Lookup object. See getLookup() for details.
    • Field Detail

      • 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 Detail

      • 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 Detail

      • 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().