package net.sourceforge.stripes.init; import net.sourceforge.stripes.action.ActionBean; import net.sourceforge.stripes.action.ActionBeanContext; import net.sourceforge.stripes.config.ConfigurableComponent; import net.sourceforge.stripes.config.Configuration; import net.sourceforge.stripes.controller.ContentTypeRequestWrapper; import net.sourceforge.stripes.controller.Interceptor; import net.sourceforge.stripes.controller.ObjectPostProcessor; import net.sourceforge.stripes.exception.AutoExceptionHandler; import net.sourceforge.stripes.format.Formatter; import net.sourceforge.stripes.tag.TagErrorRenderer; import net.sourceforge.stripes.util.Log; import net.sourceforge.stripes.validation.TypeConverter; import javax.servlet.ServletContainerInitializer; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.annotation.HandlesTypes; import java.util.HashSet; import java.util.Set; @HandlesTypes({ ConfigurableComponent.class, Configuration.class, ObjectPostProcessor.class, ActionBean.class, AutoExceptionHandler.class, ActionBeanContext.class, TagErrorRenderer.class, ContentTypeRequestWrapper.class, Interceptor.class, Formatter.class, TypeConverter.class }) public class StripesContainerInitializer implements ServletContainerInitializer { private static final Log log = Log.getInstance(StripesContainerInitializer.class); public static Set<Class<?>> LOADED_CLASSES = null; public static StripesContainerInitializer INSTANCE = null; public void onStartup(Set<Class<?>> c, ServletContext ctx) throws ServletException { LOADED_CLASSES = new HashSet<Class<?>>(c); INSTANCE = this; log.info(LOADED_CLASSES.size() + " classes loaded."); if (log.getRealLog().isDebugEnabled()) { for (Class<?> clazz : LOADED_CLASSES) { log.debug(" * " + clazz.getName()); } } } }