Class SecureLookupSupplier

Direct Known Subclasses:
CallSiteDescriptor
public class SecureLookupSupplier
extends Object

Provides security-checked access to a MethodHandles.Lookup object. See getLookup() for details.

Fields

Modifier and Type Field Description
static String GET_LOOKUP_PERMISSION_NAME

The name of a runtime permission required to successfully invoke the getLookup() method.

Constructors

Constructor Description
SecureLookupSupplier​(MethodHandles.Lookup lookup)

Creates a new secure lookup supplier, securing the passed lookup.

Methods

Modifier and Type Method Description
MethodHandles.Lookup getLookup()

Returns the lookup secured by this SecureLookupSupplier.

protected MethodHandles.Lookup getLookupPrivileged()

Returns the value of getLookup() without a security check.

Methods declared in class java.lang.Object

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

Fields

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

Constructors

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.

Methods

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

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/jdk.dynalink/jdk/dynalink/SecureLookupSupplier.html