public class SandboxInterceptor extends ValueFilterInterceptor
| Constructor and Description |
|---|
SandboxInterceptor(SandboxRules rules) |
| Modifier and Type | Method and Description |
|---|---|
protected java.lang.Object |
filter(java.lang.Object obj) |
protected java.lang.Object |
filterAccessor(java.lang.Object o,
java.lang.String accessor) |
java.lang.Integer |
getMaxExecutionTimeSeconds() |
java.lang.Object |
onGetBeanProperty(IInvoker invoker,
java.lang.Object receiver,
java.lang.String property)
Gets a Java Bean property
|
java.lang.Object |
onGetInstanceField(IInvoker invoker,
java.lang.Object receiver,
java.lang.String fieldName)
Get an instance field's value
|
java.lang.Object |
onGetStaticField(IInvoker invoker,
java.lang.Class<?> receiver,
java.lang.String fieldName)
Get a static field's value
|
java.lang.Object |
onInvokeConstructor(IInvoker invoker,
java.lang.Class<?> receiver,
java.lang.Object... args)
Invokes a constructor
|
java.lang.Object |
onInvokeInstanceMethod(IInvoker invoker,
java.lang.Object receiver,
java.lang.String method,
java.lang.Object... args)
Invokes an instance method
|
java.lang.Object |
onInvokeStaticMethod(IInvoker invoker,
java.lang.Class<?> receiver,
java.lang.String method,
java.lang.Object... args)
Invokes a static method
|
byte[] |
onLoadClassPathResource(java.lang.String resourceName)
Loads a classpath resource
|
java.lang.String |
onReadSystemProperty(java.lang.String propertyName)
Reads a Java system property
|
void |
onSetBeanProperty(IInvoker invoker,
java.lang.Object receiver,
java.lang.String property,
java.lang.Object value)
Sets a Java Bean property
|
void |
validateBlackListedVeniceFunction(java.lang.String funcName)
Validates the invocation of a Venice function with args.
|
filterArgument, filterReturnValuepublic SandboxInterceptor(SandboxRules rules)
public java.lang.Object onInvokeInstanceMethod(IInvoker invoker, java.lang.Object receiver, java.lang.String method, java.lang.Object... args) throws java.lang.SecurityException
IInterceptoronInvokeInstanceMethod in interface IInterceptoronInvokeInstanceMethod in class ValueFilterInterceptorinvoker - the invokerreceiver - an objectmethod - a methodargs - a list of argumentsjava.lang.SecurityException - if the instance method is not whitelistedpublic java.lang.Object onInvokeStaticMethod(IInvoker invoker, java.lang.Class<?> receiver, java.lang.String method, java.lang.Object... args) throws java.lang.SecurityException
IInterceptoronInvokeStaticMethod in interface IInterceptoronInvokeStaticMethod in class ValueFilterInterceptorinvoker - the invokerreceiver - a classmethod - a methodargs - a list of argumentsjava.lang.SecurityException - if the static method is not whitelistedpublic java.lang.Object onInvokeConstructor(IInvoker invoker, java.lang.Class<?> receiver, java.lang.Object... args) throws java.lang.SecurityException
IInterceptoronInvokeConstructor in interface IInterceptoronInvokeConstructor in class ValueFilterInterceptorinvoker - the invokerreceiver - a classargs - a list of argumentsjava.lang.SecurityException - if the constructor is not whitelistedpublic java.lang.Object onGetBeanProperty(IInvoker invoker, java.lang.Object receiver, java.lang.String property) throws java.lang.SecurityException
IInterceptoronGetBeanProperty in interface IInterceptoronGetBeanProperty in class ValueFilterInterceptorinvoker - the invokerreceiver - an objectproperty - a property namejava.lang.SecurityException - if the bean property (instance method) is not whitelistedpublic void onSetBeanProperty(IInvoker invoker, java.lang.Object receiver, java.lang.String property, java.lang.Object value) throws java.lang.SecurityException
IInterceptoronSetBeanProperty in interface IInterceptoronSetBeanProperty in class ValueFilterInterceptorinvoker - the invokerreceiver - an objectproperty - a property namevalue - a property valuejava.lang.SecurityException - if the bean property (instance method) is not whitelistedpublic java.lang.Object onGetStaticField(IInvoker invoker, java.lang.Class<?> receiver, java.lang.String fieldName) throws java.lang.SecurityException
IInterceptoronGetStaticField in interface IInterceptoronGetStaticField in class ValueFilterInterceptorinvoker - the invokerreceiver - a classfieldName - a field namejava.lang.SecurityException - if the static field is not whitelistedpublic java.lang.Object onGetInstanceField(IInvoker invoker, java.lang.Object receiver, java.lang.String fieldName) throws java.lang.SecurityException
IInterceptoronGetInstanceField in interface IInterceptoronGetInstanceField in class ValueFilterInterceptorinvoker - the invokerreceiver - an objectfieldName - a field namejava.lang.SecurityException - if the instance field is not whitelistedpublic byte[] onLoadClassPathResource(java.lang.String resourceName)
throws java.lang.SecurityException
IInterceptoronLoadClassPathResource in interface IInterceptoronLoadClassPathResource in class InterceptorresourceName - a resource name (e.g.: /foo/org/image.png)java.lang.SecurityException - if the classpath resource is not whitelistedpublic java.lang.String onReadSystemProperty(java.lang.String propertyName)
throws java.lang.SecurityException
IInterceptoronReadSystemProperty in interface IInterceptoronReadSystemProperty in class InterceptorpropertyName - a property name (e.g: user.home)java.lang.SecurityException - if the property is not whitelistedpublic void validateBlackListedVeniceFunction(java.lang.String funcName)
throws java.lang.SecurityException
IInterceptorvalidateBlackListedVeniceFunction in interface IInterceptorvalidateBlackListedVeniceFunction in class InterceptorfuncName - A venice function namejava.lang.SecurityException - if the function is blacklisted and not allowed to be invoked.public java.lang.Integer getMaxExecutionTimeSeconds()
getMaxExecutionTimeSeconds in interface IInterceptorgetMaxExecutionTimeSeconds in class InterceptorSandbox is allowed to run.protected java.lang.Object filter(java.lang.Object obj)
filter in class ValueFilterInterceptorprotected java.lang.Object filterAccessor(java.lang.Object o,
java.lang.String accessor)
filterAccessor in class ValueFilterInterceptor