|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.xcmis.search.content.interceptors.InterceptorChain
public class InterceptorChain
Knows how to build and manage an chain of interceptors. Also in charge with invoking methods on the chain.
| Constructor Summary | |
|---|---|
InterceptorChain(CommandInterceptor first)
Constructs an interceptor chain having the supplied interceptor as first. |
|
| Method Summary | |
|---|---|
boolean |
addAfterInterceptor(CommandInterceptor toAdd,
Class<? extends CommandInterceptor> afterInterceptor)
Adds a new interceptor in list after an interceptor of a given type. |
boolean |
addBeforeInterceptor(CommandInterceptor toAdd,
Class<? extends CommandInterceptor> beforeInterceptor)
Adds a new interceptor in list after an interceptor of a given type. |
void |
addInterceptor(CommandInterceptor interceptor,
int position)
Inserts the given interceptor at the specified position in the chain (o based indexing). |
void |
appendIntereceptor(CommandInterceptor ci)
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. |
CommandInterceptor |
getFirstInChain()
|
String |
getInterceptorDetails()
|
List<CommandInterceptor> |
getInterceptorsWhichExtend(Class<? extends CommandInterceptor> interceptorClass)
Returns all interceptors which extend the given command interceptor. |
List<CommandInterceptor> |
getInterceptorsWithClassName(String fqName)
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. |
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. |
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. |
void |
start()
|
void |
stop()
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public InterceptorChain(CommandInterceptor first)
| Method Detail |
|---|
public boolean addAfterInterceptor(CommandInterceptor toAdd,
Class<? extends CommandInterceptor> afterInterceptor)
toAdd - afterInterceptor -
public boolean addBeforeInterceptor(CommandInterceptor toAdd,
Class<? extends CommandInterceptor> beforeInterceptor)
toAdd - beforeInterceptor -
public void addInterceptor(CommandInterceptor interceptor,
int position)
interceptor - CommandInterceptorposition - int
IllegalArgumentException - if the position is invalid (e.g. 5 and there are only 2 interceptors in the chain)public void appendIntereceptor(CommandInterceptor ci)
ci - CommandInterceptorpublic List<CommandInterceptor> asList()
public boolean containsInstance(CommandInterceptor interceptor)
public CommandInterceptor getFirstInChain()
public String getInterceptorDetails()
public List<CommandInterceptor> getInterceptorsWhichExtend(Class<? extends CommandInterceptor> interceptorClass)
interceptorClass - public List<CommandInterceptor> getInterceptorsWithClassName(String fqName)
fqName - String
public Object invoke(InvocationContext ctx,
VisitableCommand command)
throws Throwable
Throwablepublic void removeInterceptor(Class<? extends CommandInterceptor> clazz)
public void removeInterceptor(int position)
IllegalArgumentException - if the position is invalid (e.g. 5 and there are only 2 interceptors in the chain)public void setFirstInChain(CommandInterceptor interceptor)
interceptor - interceptor to be used as the first interceptor in the chain.public int size()
public void start()
start in interface StartableStartable.start()public void stop()
stop in interface StartableStartable.stop()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||