public final class CommandInterceptorProxyImpl extends Object implements CommandInterceptorProxy, InvocationHandler
The proxy for command processor which instead of direct executing of given command triggers logic of all associated interceptors.
| Constructor and Description |
|---|
CommandInterceptorProxyImpl(com.thoughtworks.selenium.CommandProcessor commandProcessor)
Constructs new proxy with associated command processor
|
| Modifier and Type | Method and Description |
|---|---|
com.thoughtworks.selenium.CommandProcessor |
getCommandProcessorProxy()
Returns the command processor proxied with functionality of all associated interceptors.
|
CommandInterceptorProxyImpl |
immutableCopy()
Creates immutable copy of this command processor with all interceptors registered.
|
Object |
invoke(Object proxy,
Method method,
Object[] args)
Proxies all the request on associated command processor.
|
void |
registerInterceptor(CommandInterceptor interceptor)
Registers the interceptor, only one interceptor can be registered for given class of interceptor.
|
CommandInterceptor |
unregisterInterceptor(CommandInterceptor interceptor)
Removes and returns the interceptor instance, or null, if such instance isn't registered.
|
Set<CommandInterceptor> |
unregisterInterceptorType(Class<? extends CommandInterceptor> type)
Removes and returns all associated interceptors which of given type.
|
public CommandInterceptorProxyImpl(com.thoughtworks.selenium.CommandProcessor commandProcessor)
commandProcessor - to associate with this proxypublic com.thoughtworks.selenium.CommandProcessor getCommandProcessorProxy()
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable
Proxies all the request on associated command processor.
In case of CommandProcessor.doCommand(String, String[]) method, it also executes all associated interceptors
before performing the actual invocation of method.
invoke in interface InvocationHandlerThrowablepublic void registerInterceptor(CommandInterceptor interceptor)
registerInterceptor in interface CommandInterceptorProxyinterceptor - the interceptor implementationpublic CommandInterceptor unregisterInterceptor(CommandInterceptor interceptor)
unregisterInterceptor in interface CommandInterceptorProxyinterceptor - the instance of interceptor to removepublic Set<CommandInterceptor> unregisterInterceptorType(Class<? extends CommandInterceptor> type)
unregisterInterceptorType in interface CommandInterceptorProxytype - of interceptors which we want to unregister from this command processorpublic CommandInterceptorProxyImpl immutableCopy()
Copyright © 2013 JBoss by Red Hat. All Rights Reserved.