use of org.nutz.mvc.ActionFilter in project nutz by nutzam.
the class ActionFiltersProcessor method init.
public void init(NutConfig config, ActionInfo ai) throws Throwable {
ObjectInfo<? extends ActionFilter>[] filterInfos = ai.getFilterInfos();
if (null != filterInfos) {
for (int i = 0; i < filterInfos.length; i++) {
ActionFilter filter = evalObj(config, filterInfos[i]);
filters.add(filter);
if (filter instanceof Processor) {
Processor processor = (Processor) filter;
if (proxyProcessor == null) {
proxyProcessor = processor;
lastProcessor = processor;
} else {
processor.setNext(proxyProcessor);
proxyProcessor = processor;
}
}
}
}
}
use of org.nutz.mvc.ActionFilter in project nutz by nutzam.
the class ActionFiltersProcessor method process.
public void process(ActionContext ac) throws Throwable {
for (ActionFilter filter : filters) {
View view = filter.match(ac);
if (null != view) {
ac.setMethodReturn(view);
renderView(ac);
return;
}
}
if (proxyProcessor == null) {
doNext(ac);
} else {
if (lastProcessor != null)
lastProcessor.setNext(next);
proxyProcessor.process(ac);
}
}
use of org.nutz.mvc.ActionFilter in project nutz by nutzam.
the class Loadings method evalActionFilters.
@SuppressWarnings({ "unchecked", "rawtypes" })
public static void evalActionFilters(ActionInfo ai, Filters filters) {
if (null != filters) {
List<ObjectInfo<? extends ActionFilter>> list = new ArrayList<ObjectInfo<? extends ActionFilter>>(filters.value().length);
for (By by : filters.value()) {
list.add(new ObjectInfo(by.type(), by.args()));
}
ai.setFilterInfos(list.toArray(new ObjectInfo[list.size()]));
}
}
Aggregations