public abstract class Interceptor extends java.lang.Object implements IInterceptor
| Constructor and Description |
|---|
Interceptor(ILoadPaths loadPaths) |
| Modifier and Type | Method and Description |
|---|---|
ILoadPaths |
getLoadPaths() |
java.lang.Integer |
getMaxExecutionTimeSeconds() |
java.lang.Integer |
getMaxFutureThreadPoolSize() |
ReturnValue |
onGetBeanProperty(IInvoker invoker,
java.lang.Object receiver,
java.lang.String property)
Gets a Java Bean property
|
ReturnValue |
onGetInstanceField(IInvoker invoker,
java.lang.Object receiver,
java.lang.Class<?> receiverFormalType,
java.lang.String fieldName)
Get an instance field's value
|
ReturnValue |
onGetStaticField(IInvoker invoker,
java.lang.Class<?> receiver,
java.lang.String fieldName)
Get a static field's value
|
ReturnValue |
onInvokeConstructor(IInvoker invoker,
java.lang.Class<?> receiver,
java.lang.Object... args)
Invokes a constructor
|
ReturnValue |
onInvokeInstanceMethod(IInvoker invoker,
java.lang.Object receiver,
java.lang.Class<?> receiverFormalType,
java.lang.String method,
java.lang.Object... args)
Invokes an instance method
|
ReturnValue |
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 |
onReadSystemEnv(java.lang.String name)
Reads a Java environment variable
|
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
|
IInterceptor |
validateLoadModule(java.lang.String moduleName)
Validates the load of a module
|
IInterceptor |
validateMaxExecutionTime()
Validates the execution time
|
IInterceptor |
validateVeniceFunction(java.lang.String funcName)
Validates the invocation of a Venice function.
|
public Interceptor(ILoadPaths loadPaths)
public ReturnValue onInvokeInstanceMethod(IInvoker invoker, java.lang.Object receiver, java.lang.Class<?> receiverFormalType, java.lang.String method, java.lang.Object... args) throws SecurityException
IInterceptoronInvokeInstanceMethod in interface IInterceptorinvoker - the invokerreceiver - an objectreceiverFormalType - the formal type of the receiver (e.g a superclass)method - a methodargs - a list of argumentsSecurityException - if the instance method is not whitelistedpublic ReturnValue onInvokeStaticMethod(IInvoker invoker, java.lang.Class<?> receiver, java.lang.String method, java.lang.Object... args) throws SecurityException
IInterceptoronInvokeStaticMethod in interface IInterceptorinvoker - the invokerreceiver - a classmethod - a methodargs - a list of argumentsSecurityException - if the static method is not whitelistedpublic ReturnValue onInvokeConstructor(IInvoker invoker, java.lang.Class<?> receiver, java.lang.Object... args) throws SecurityException
IInterceptoronInvokeConstructor in interface IInterceptorinvoker - the invokerreceiver - a classargs - a list of argumentsSecurityException - if the constructor is not whitelistedpublic ReturnValue onGetBeanProperty(IInvoker invoker, java.lang.Object receiver, java.lang.String property) throws SecurityException
IInterceptoronGetBeanProperty in interface IInterceptorinvoker - the invokerreceiver - an objectproperty - a property nameSecurityException - 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 SecurityException
IInterceptoronSetBeanProperty in interface IInterceptorinvoker - the invokerreceiver - an objectproperty - a property namevalue - a property valueSecurityException - if the bean property (instance method) is not whitelistedpublic ReturnValue onGetStaticField(IInvoker invoker, java.lang.Class<?> receiver, java.lang.String fieldName) throws SecurityException
IInterceptoronGetStaticField in interface IInterceptorinvoker - the invokerreceiver - a classfieldName - a field nameSecurityException - if the static field is not whitelistedpublic ReturnValue onGetInstanceField(IInvoker invoker, java.lang.Object receiver, java.lang.Class<?> receiverFormalType, java.lang.String fieldName) throws SecurityException
IInterceptoronGetInstanceField in interface IInterceptorinvoker - the invokerreceiver - an objectreceiverFormalType - the formal type of the receiver (e.g a superclass)fieldName - a field nameSecurityException - if the instance field is not whitelistedpublic byte[] onLoadClassPathResource(java.lang.String resourceName)
throws SecurityException
IInterceptoronLoadClassPathResource in interface IInterceptorresourceName - a resource name (e.g.: foo/org/image.png)SecurityException - if the classpath resource is not whitelistedpublic java.lang.String onReadSystemProperty(java.lang.String propertyName)
throws SecurityException
IInterceptoronReadSystemProperty in interface IInterceptorpropertyName - a property name (e.g: user.home)SecurityException - if the property is not whitelistedpublic java.lang.String onReadSystemEnv(java.lang.String name)
throws SecurityException
IInterceptoronReadSystemEnv in interface IInterceptorname - a variable name (e.g: USER)SecurityException - if the variable is not whitelistedpublic IInterceptor validateVeniceFunction(java.lang.String funcName) throws SecurityException
IInterceptorvalidateVeniceFunction in interface IInterceptorfuncName - A venice function nameSecurityException - if the function is blacklisted and not
allowed to be invoked.public IInterceptor validateLoadModule(java.lang.String moduleName) throws SecurityException
IInterceptorvalidateLoadModule in interface IInterceptormoduleName - the module nameSecurityException - if the module is blacklistedpublic IInterceptor validateMaxExecutionTime() throws SecurityException
IInterceptorvalidateMaxExecutionTime in interface IInterceptorSecurityException - if the execution time exceeds the configured limit.public java.lang.Integer getMaxExecutionTimeSeconds()
getMaxExecutionTimeSeconds in interface IInterceptorSandbox is allowed to run.public java.lang.Integer getMaxFutureThreadPoolSize()
getMaxFutureThreadPoolSize in interface IInterceptorSandbox is allowed to use.public ILoadPaths getLoadPaths()
getLoadPaths in interface IInterceptor