public class SandboxRules
extends java.lang.Object
The sandbox keeps whitelist rules for the Java Interop and blacklist rules for the Venice functions.
| Modifier and Type | Field and Description |
|---|---|
static java.util.Set<java.lang.String> |
DEFAULT_SYSTEM_PROPERTIES |
| Constructor and Description |
|---|
SandboxRules() |
| Modifier and Type | Method and Description |
|---|---|
SandboxRules |
allowAccessToAllSystemProperties()
Allow access to all Java system properties
|
SandboxRules |
allowAccessToStandardSystemProperties()
Allow access to all standard Java system properties
|
static java.util.List<java.lang.String> |
getDefaultRules()
Returns the default rules used for Venice sandboxes.
|
java.util.Set<java.lang.String> |
getRules() |
SandboxRules |
merge(SandboxRules other)
Merges this
SandboxRules with the passed other
SandboxRules |
static SandboxRules |
noDefaults()
Creates new SandboxRules starting without any defaults.
|
SandboxRules |
rejectAllVeniceIoFunctions()
Reject access to all Venice I/O related functions
|
java.lang.String |
toString() |
SandboxRules |
withBlacklistedVeniceFn(java.util.Collection<java.lang.String> rules)
Add blacklisted Venice IO function rules to the sandbox.
|
SandboxRules |
withBlacklistedVeniceFn(java.lang.String... rules)
Add blacklisted Venice IO function rules to the sandbox.
|
SandboxRules |
withClasses(java.lang.Class<?>... classes)
Add a rule for classes to the sandbox, whitelisting the class and all its
methods and fields
|
SandboxRules |
withClasses(java.util.Collection<java.lang.Class<?>> classes)
Add a rule for classes to the sandbox, whitelisting the class and all its
methods and fields
|
SandboxRules |
withClasses(java.util.List<java.lang.String> rules)
Add whitelisted class rules to the sandbox.
|
SandboxRules |
withClasses(java.lang.String... rules)
Add whitelisted class rules to the sandbox.
|
SandboxRules |
withClasspathResources(java.util.Collection<java.lang.String> rules)
Add whitelisted classpath resource rules to the sandbox.
|
SandboxRules |
withClasspathResources(java.lang.String... rules)
Add whitelisted classpath resource rules to the sandbox.
|
SandboxRules |
withDefaultClasses() |
SandboxRules |
withSystemProperties(java.util.Collection<java.lang.String> rules)
Add whitelisted system property rules to the sandbox.
|
SandboxRules |
withSystemProperties(java.lang.String... rules)
Add whitelisted system property rules to the sandbox.
|
public static final java.util.Set<java.lang.String> DEFAULT_SYSTEM_PROPERTIES
public static SandboxRules noDefaults()
SandboxRulespublic SandboxRules withClasses(java.lang.String... rules)
Java whitelist rules for class/instance accessor follow the schema: '{package}.{className}:{methodName | fieldName}'. The asterix may be used as a wildcard
E.g:
rules - rulesSandboxRulespublic SandboxRules withClasses(java.util.List<java.lang.String> rules)
Java whitelist rules for class/instance accessor follow the schema: '{package}.{className}:{methodName | fieldName}'. The asterix may be used as a wildcard
E.g:
rules - rulesSandboxRulespublic SandboxRules withClasses(java.lang.Class<?>... classes)
Adds a class rule "x.y.classname:*" for each class
classes - classesSandboxRulespublic SandboxRules withClasses(java.util.Collection<java.lang.Class<?>> classes)
Adds a class rule "x.y.classname:*" for each class
classes - classesSandboxRulespublic SandboxRules withDefaultClasses()
public SandboxRules withClasspathResources(java.lang.String... rules)
rules - rulesSandboxRulespublic SandboxRules withClasspathResources(java.util.Collection<java.lang.String> rules)
rules - rulesSandboxRulespublic SandboxRules withSystemProperties(java.lang.String... rules)
E.g: white listing Java system properties
rules - rulesSandboxRulespublic SandboxRules withSystemProperties(java.util.Collection<java.lang.String> rules)
E.g: white listing Java system properties
rules - rulesSandboxRulespublic SandboxRules withBlacklistedVeniceFn(java.lang.String... rules)
E.g:
rules - rulesSandboxRulespublic SandboxRules withBlacklistedVeniceFn(java.util.Collection<java.lang.String> rules)
E.g:
rules - rulesSandboxRulespublic SandboxRules rejectAllVeniceIoFunctions()
SandboxRulespublic SandboxRules allowAccessToStandardSystemProperties()
Standard system properties:
SandboxRulespublic SandboxRules allowAccessToAllSystemProperties()
SandboxRulespublic SandboxRules merge(SandboxRules other)
SandboxRules with the passed other
SandboxRulesother - the other SandboxRules to merge withSandboxRulespublic java.util.Set<java.lang.String> getRules()
SandboxRulespublic static java.util.List<java.lang.String> getDefaultRules()
Note: The default rules can be omitted by calling
SandboxRules
.noDefaults()
.withClasses(
"java.lang.Math",
"java.math.BigDecimal");
Sandboxpublic java.lang.String toString()
toString in class java.lang.Object