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 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 Details
-
GET_LOOKUP_PERMISSION_NAME
The name of a runtime permission required to successfully invoke thegetLookup()
method.- See Also:
- Constant Field Values
-
-
Constructor Details
-
SecureLookupSupplier
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
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
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()
.
-