Class EnumeratingWhitelist
- java.lang.Object
-
- org.jenkinsci.plugins.scriptsecurity.sandbox.Whitelist
-
- org.jenkinsci.plugins.scriptsecurity.sandbox.whitelists.EnumeratingWhitelist
-
- All Implemented Interfaces:
ExtensionPoint
- Direct Known Subclasses:
StaticWhitelist
public abstract class EnumeratingWhitelist extends Whitelist
A whitelist based on listing signatures and searching them. Lists of signatures should not change from invocation to invocation. If that's a need it is better to directly extendWhitelist
and roll a custom implementation OR extend ProxyWhitelist and add some custom delegates.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
EnumeratingWhitelist.FieldSignature
static class
EnumeratingWhitelist.MethodSignature
static class
EnumeratingWhitelist.NewSignature
static class
EnumeratingWhitelist.Signature
-
Nested classes/interfaces inherited from interface hudson.ExtensionPoint
ExtensionPoint.LegacyInstancesAreScopedToHudson
-
-
Constructor Summary
Constructors Constructor Description EnumeratingWhitelist()
-
Method Summary
-
-
-
Method Detail
-
methodSignatures
protected abstract List<EnumeratingWhitelist.MethodSignature> methodSignatures()
-
newSignatures
protected abstract List<EnumeratingWhitelist.NewSignature> newSignatures()
-
staticMethodSignatures
protected abstract List<EnumeratingWhitelist.MethodSignature> staticMethodSignatures()
-
fieldSignatures
protected abstract List<EnumeratingWhitelist.FieldSignature> fieldSignatures()
-
staticFieldSignatures
protected abstract List<EnumeratingWhitelist.FieldSignature> staticFieldSignatures()
-
permitsMethod
public final boolean permitsMethod(@NonNull Method method, @NonNull Object receiver, @NonNull Object[] args)
Description copied from class:Whitelist
Checks whether a given virtual method may be invoked.Note that
method
should not be implementing or overriding a method in a supertype; in such a case the caller must pass that supertype method instead. In other words, call site selection is the responsibility of the caller (such asGroovySandbox
), not the whitelist.- Specified by:
permitsMethod
in classWhitelist
- Parameters:
method
- a method defined in the JVMreceiver
-this
, the receiver of the method callargs
- zero or more arguments- Returns:
- true to allow the method to be called, false to reject it
-
permitsConstructor
public final boolean permitsConstructor(@NonNull Constructor<?> constructor, @NonNull Object[] args)
- Specified by:
permitsConstructor
in classWhitelist
-
permitsStaticMethod
public final boolean permitsStaticMethod(@NonNull Method method, @NonNull Object[] args)
- Specified by:
permitsStaticMethod
in classWhitelist
-
permitsFieldGet
public final boolean permitsFieldGet(@NonNull Field field, @NonNull Object receiver)
- Specified by:
permitsFieldGet
in classWhitelist
-
permitsFieldSet
public final boolean permitsFieldSet(@NonNull Field field, @NonNull Object receiver, Object value)
- Specified by:
permitsFieldSet
in classWhitelist
-
permitsStaticFieldGet
public final boolean permitsStaticFieldGet(@NonNull Field field)
- Specified by:
permitsStaticFieldGet
in classWhitelist
-
permitsStaticFieldSet
public final boolean permitsStaticFieldSet(@NonNull Field field, Object value)
- Specified by:
permitsStaticFieldSet
in classWhitelist
-
-