- java.lang.Object
-
- jdk.dynalink.SecureLookupSupplier
-
- Direct Known Subclasses:
CallSiteDescriptor
public class SecureLookupSupplier extends Object
Provides security-checked access to aMethodHandles.Lookupobject. SeegetLookup()for details.
-
-
Field Summary
Fields Modifier and Type Field Description static StringGET_LOOKUP_PERMISSION_NAMEThe 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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description MethodHandles.LookupgetLookup()Returns the lookup secured by thisSecureLookupSupplier.protected MethodHandles.LookupgetLookupPrivileged()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().
-
-