- java.lang.Object
-
- jdk.dynalink.SecureLookupSupplier
-
- Direct Known Subclasses:
CallSiteDescriptor
public class SecureLookupSupplier extends Object
Provides security-checked access to aMethodHandles.Lookup
object. SeegetLookup()
for details.
-
-
Field Summary
Fields Modifier and Type Field Description static String
GET_LOOKUP_PERMISSION_NAME
The name of a runtime permission required to successfully invoke thegetLookup()
method.
-
Constructor Summary
Constructors Constructor Description SecureLookupSupplier(MethodHandles.Lookup lookup)
Creates a new secure lookup supplier, securing the passed lookup.
-
Method Summary
Modifier and Type Method Description MethodHandles.Lookup
getLookup()
Returns the lookup secured by thisSecureLookupSupplier
.protected MethodHandles.Lookup
getLookupPrivileged()
Returns the value ofgetLookup()
without a security check.
-
-
-
Field Detail
-
GET_LOOKUP_PERMISSION_NAME
public static final String GET_LOOKUP_PERMISSION_NAME
The name of a runtime permission required to successfully invoke thegetLookup()
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 thisSecureLookupSupplier
.- Returns:
- the lookup secured by this
SecureLookupSupplier
. - Throws:
SecurityException
- if the secured lookup isn't theMethodHandles.publicLookup()
, and a security manager is present, and a check forRuntimePermission("dynalink.getLookup")
fails.
-
getLookupPrivileged
protected final MethodHandles.Lookup getLookupPrivileged()
Returns the value ofgetLookup()
without a security check. Can be used by subclasses to access the lookup quickly.- Returns:
- same as returned value of
getLookup()
.
-
-