public class DecouplingInterceptor extends AbstractMultiInterceptor
Modifier and Type | Class and Description |
---|---|
protected class |
DecouplingInterceptor.CopyReturnValueResultListener
Copy return value, when service call is finished.
|
static class |
DecouplingInterceptor.InvokeMethodStep
Service invocation step.
|
Modifier and Type | Field and Description |
---|---|
protected boolean |
copy
The argument copy allowed flag.
|
protected IExternalAccess |
ea
The external access.
|
protected IFilter |
filter
The clone filter (facade for marshal).
|
protected IInternalAccess |
ia
The internal access.
|
static java.util.Map |
methodreferences
The reference method cache (method -> boolean[] (is reference)).
|
protected static java.util.Set<java.lang.reflect.Method> |
NO_DECOUPLING
The static set of no decoupling methods.
|
protected boolean |
required
Is the interceptor for a required service proxy?
|
protected static java.util.Map<java.lang.reflect.Method,IServiceInvocationInterceptor> |
SUBINTERCEPTORS
The static map of subinterceptors (method -> interceptor).
|
Constructor and Description |
---|
DecouplingInterceptor(IInternalAccess ia,
boolean copy,
boolean required)
Create a new invocation handler.
|
Modifier and Type | Method and Description |
---|---|
protected java.lang.Object |
doCopy(boolean copy,
IFilter deffilter,
java.lang.Object value)
Copy a value, if necessary.
|
IFuture<java.lang.Void> |
doExecute(ServiceInvocationContext sic)
Execute the command.
|
IServiceInvocationInterceptor |
getInterceptor(ServiceInvocationContext sic)
Get a sub interceptor for special cases.
|
static java.util.Map<java.lang.reflect.Method,IServiceInvocationInterceptor> |
getInterceptors()
Get the sub interceptors for special cases.
|
static boolean[] |
getReferenceInfo(java.lang.reflect.Method method,
boolean refdef,
boolean local)
Get the copy info for method parameters.
|
ISerializationServices |
getSerializationServices()
Gets the serialization services.
|
execute, isApplicable
protected static final java.util.Map<java.lang.reflect.Method,IServiceInvocationInterceptor> SUBINTERCEPTORS
protected static final java.util.Set<java.lang.reflect.Method> NO_DECOUPLING
public static final java.util.Map methodreferences
protected IExternalAccess ea
protected IInternalAccess ia
protected boolean required
protected boolean copy
protected IFilter filter
public DecouplingInterceptor(IInternalAccess ia, boolean copy, boolean required)
public IFuture<java.lang.Void> doExecute(ServiceInvocationContext sic)
doExecute
in class AbstractMultiInterceptor
args
- The argument(s) for the call.public IServiceInvocationInterceptor getInterceptor(ServiceInvocationContext sic)
getInterceptor
in class AbstractMultiInterceptor
sic
- The context.protected java.lang.Object doCopy(boolean copy, IFilter deffilter, java.lang.Object value)
public static java.util.Map<java.lang.reflect.Method,IServiceInvocationInterceptor> getInterceptors()
public final ISerializationServices getSerializationServices()
platform
- The platform ID.public static boolean[] getReferenceInfo(java.lang.reflect.Method method, boolean refdef, boolean local)