com.fastchar.core.FastActions Maven / Gradle / Ivy
package com.fastchar.core;
import com.fastchar.out.FastOut;
import java.lang.reflect.Modifier;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
* FastAction插件
* @author 沈建(Janesen)
*/
public final class FastActions {
private Class> defaultOut;
private final List excludeUrls = new ArrayList<>();//排除拦截url
private boolean excludeServlet = true;//排除拦截servlet
FastActions() {
}
public FastActions add(Class actionClass) throws Exception {
if (Modifier.isAbstract(actionClass.getModifiers())) {
return this;
}
if (Modifier.isInterface(actionClass.getModifiers())) {
return this;
}
if (!Modifier.isPublic(actionClass.getModifiers())) {
return this;
}
FastDispatcher.actionResolver(actionClass);
return this;
}
public Class> getDefaultOut() {
return defaultOut;
}
public FastActions setDefaultOut(Class> defaultOut) {
this.defaultOut = defaultOut;
return this;
}
/**
* 排除路径,例如:/druid/*,/user/servlet.action
* @param urlPatterns url匹配值
* @return 当前对象
*/
public FastActions addExcludeUrls(String... urlPatterns) {
this.excludeUrls.addAll(Arrays.asList(urlPatterns));
return this;
}
public List getExcludeUrls() {
return excludeUrls;
}
public boolean isExcludeServlet() {
return excludeServlet;
}
public FastActions setExcludeServlet(boolean excludeServlet) {
this.excludeServlet = excludeServlet;
return this;
}
}