CompositeInterceptor.java
package sprout.core.interceptor;
import sprout.mvc.http.HttpRequest;
import java.util.List;
public class CompositeInterceptor {
private final List<HandlerInterceptor> delegates;
public CompositeInterceptor(List<HandlerInterceptor> delegates) {
this.delegates = delegates;
}
public boolean preHandle(HttpRequest<?> r){
for (HandlerInterceptor i : delegates)
if (!i.preHandle(r)) return false;
return true;
}
public void postHandle(HttpRequest<?> r, Object v){
for (int idx=delegates.size()-1; idx>=0; idx--)
delegates.get(idx).postHandle(r, v);
}
}