public class InterceptorChain extends Object
Constructor and Description |
---|
InterceptorChain(CommandInterceptor first)
Constructs an interceptor chain having the supplied interceptor as first.
|
Modifier and Type | Method and Description |
---|---|
void |
addInterceptor(CommandInterceptor interceptor,
int position)
Inserts the given interceptor at the specified position in the chain (o based indexing).
|
boolean |
addInterceptorAfter(CommandInterceptor toAdd,
Class<? extends CommandInterceptor> afterInterceptor)
Adds a new interceptor in list after an interceptor of a given type.
|
boolean |
addInterceptorBefore(CommandInterceptor toAdd,
Class<? extends CommandInterceptor> beforeInterceptor)
Adds a new interceptor in list after an interceptor of a given type.
|
void |
appendInterceptor(CommandInterceptor ci,
boolean isCustom)
Appends at the end.
|
List<CommandInterceptor> |
asList()
Returns an unmofiable list with all the interceptors in sequence.
|
boolean |
containsInstance(CommandInterceptor interceptor)
Checks whether the chain contains the supplied interceptor instance.
|
boolean |
containsInterceptorType(Class<? extends CommandInterceptor> interceptorType) |
CommandInterceptor |
getFirstInChain() |
List<CommandInterceptor> |
getInterceptorsWhichExtend(Class<? extends CommandInterceptor> interceptorClass)
Returns all interceptors which extend the given command interceptor.
|
List<CommandInterceptor> |
getInterceptorsWithClassName(String name)
Returns all the interceptors that have the fully qualified name of their class equal with the supplied class
name.
|
Object |
invoke(InvocationContext ctx,
VisitableCommand command)
Walks the command through the interceptor chain.
|
protected boolean |
isFirstInChain(Class<? extends CommandInterceptor> clazz) |
void |
removeInterceptor(Class<? extends CommandInterceptor> clazz)
Removes all the occurences of supplied interceptor type from the chain.
|
void |
removeInterceptor(int position)
Removes the interceptor at the given postion.
|
boolean |
replaceInterceptor(CommandInterceptor replacingInterceptor,
Class<? extends CommandInterceptor> toBeReplacedInterceptorType)
Replaces an existing interceptor of the given type in the interceptor chain with a new interceptor instance passed as parameter.
|
void |
setFirstInChain(CommandInterceptor interceptor)
Mainly used by unit tests to replace the interceptor chain with the starting point passed in.
|
int |
size()
Returns the number of interceptors in the chain.
|
String |
toString() |
public InterceptorChain(CommandInterceptor first)
public void addInterceptor(CommandInterceptor interceptor, int position)
IllegalArgumentException
- if the position is invalid (e.g. 5 and there are only 2 interceptors in the
chain)public void removeInterceptor(int position)
IllegalArgumentException
- if the position is invalid (e.g. 5 and there are only 2 interceptors in the
chain)public int size()
public List<CommandInterceptor> asList()
public void removeInterceptor(Class<? extends CommandInterceptor> clazz)
protected boolean isFirstInChain(Class<? extends CommandInterceptor> clazz)
public boolean addInterceptorAfter(CommandInterceptor toAdd, Class<? extends CommandInterceptor> afterInterceptor)
public boolean addInterceptorBefore(CommandInterceptor toAdd, Class<? extends CommandInterceptor> beforeInterceptor)
public boolean replaceInterceptor(CommandInterceptor replacingInterceptor, Class<? extends CommandInterceptor> toBeReplacedInterceptorType)
replacingInterceptor
- the interceptor to add to the interceptor chaintoBeReplacedInterceptorType
- the type of interceptor that should be swapped with the new onepublic void appendInterceptor(CommandInterceptor ci, boolean isCustom)
public Object invoke(InvocationContext ctx, VisitableCommand command)
public CommandInterceptor getFirstInChain()
public void setFirstInChain(CommandInterceptor interceptor)
interceptor
- interceptor to be used as the first interceptor in the chain.public List<CommandInterceptor> getInterceptorsWhichExtend(Class<? extends CommandInterceptor> interceptorClass)
public List<CommandInterceptor> getInterceptorsWithClassName(String name)
public boolean containsInstance(CommandInterceptor interceptor)
public boolean containsInterceptorType(Class<? extends CommandInterceptor> interceptorType)
Copyright © 2012 JBoss by Red Hat. All Rights Reserved.