//
//Source code recreated from a .class file by IntelliJ IDEA//(powered by Fernflower decompiler)//
packageorg.apache.shiro.web.filter.mgt;importjava.util.LinkedHashMap;importjava.util.Map;importjavax.servlet.Filter;importjavax.servlet.FilterConfig;importjavax.servlet.ServletException;importorg.apache.shiro.util.ClassUtils;importorg.apache.shiro.web.filter.authc.AnonymousFilter;importorg.apache.shiro.web.filter.authc.BasicHttpAuthenticationFilter;importorg.apache.shiro.web.filter.authc.FormAuthenticationFilter;importorg.apache.shiro.web.filter.authc.LogoutFilter;importorg.apache.shiro.web.filter.authc.UserFilter;importorg.apache.shiro.web.filter.authz.HttpMethodPermissionFilter;importorg.apache.shiro.web.filter.authz.PermissionsAuthorizationFilter;importorg.apache.shiro.web.filter.authz.PortFilter;importorg.apache.shiro.web.filter.authz.RolesAuthorizationFilter;importorg.apache.shiro.web.filter.authz.SslFilter;importorg.apache.shiro.web.filter.session.NoSessionCreationFilter;public enumDefaultFilter {
anon(AnonymousFilter.class),
authc(FormAuthenticationFilter.class),
authcBasic(BasicHttpAuthenticationFilter.class),
logout(LogoutFilter.class),
noSessionCreation(NoSessionCreationFilter.class),
perms(PermissionsAuthorizationFilter.class),
port(PortFilter.class),
rest(HttpMethodPermissionFilter.class),
roles(RolesAuthorizationFilter.class),
ssl(SslFilter.class),
user(UserFilter.class);private final Class extends Filter>filterClass;private DefaultFilter(Class extends Filter>filterClass) {this.filterClass =filterClass;
}publicFilter newInstance() {return (Filter)ClassUtils.newInstance(this.filterClass);
}public Class extends Filter>getFilterClass() {return this.filterClass;
}public static MapcreateInstanceMap(FilterConfig config) {
Map filters = newLinkedHashMap(values().length);
DefaultFilter[] var2=values();int var3 =var2.length;for(int var4 = 0; var4 < var3; ++var4) {
DefaultFilter defaultFilter=var2[var4];
Filter filter=defaultFilter.newInstance();if (config != null) {try{
filter.init(config);
}catch(ServletException var9) {
String msg= "Unable to correctly init default filter instance of type " +filter.getClass().getName();throw newIllegalStateException(msg, var9);
}
}
filters.put(defaultFilter.name(), filter);
}returnfilters;
}
}