package de.is24.deadcode4j.analyzer; import de.is24.deadcode4j.AnalysisContext; import de.is24.deadcode4j.analyzer.webxml.BaseWebXmlAnalyzer; import de.is24.deadcode4j.analyzer.webxml.Param; import de.is24.deadcode4j.analyzer.webxml.WebXmlHandler; import javax.annotation.Nonnull; import java.util.List; /** * Analyzes <code>web.xml</code> files: lists the listener, filter & servlet classes being referenced. * * @since 1.2.0 */ public final class WebXmlAnalyzer extends BaseWebXmlAnalyzer { @Nonnull @Override protected WebXmlHandler createWebXmlHandlerFor(@Nonnull final AnalysisContext analysisContext) { return new WebXmlHandler() { @Override public void filter(String className, List<Param> initParams) { addDependency(className); } @Override public void listener(String className) { addDependency(className); } @Override public void servlet(String className, List<Param> initParams) { addDependency(className); } private void addDependency(String className) { analysisContext.addDependencies("_web.xml_", className); } }; } }