All Downloads are FREE. Search and download functionalities are using the official Maven repository.

de.is24.deadcode4j.Analyzer Maven / Gradle / Ivy

There is a newer version: 2.1.0
Show newest version
package de.is24.deadcode4j;

import javax.annotation.Nonnull;
import java.io.File;

/**
 * An Analyzer analyzes code of all flavours: java classes, spring XML files, web.xml etc.
 *
 * @since 1.1.0
 */
public interface Analyzer {

    /**
     * Perform an analysis for the specified file.
     * Results must be reported via the capabilities of the {@link AnalysisContext}.
     *
     * @since 1.1.0
     */
    void doAnalysis(@Nonnull AnalysisContext analysisContext, @Nonnull File fileName);

    /**
     * Indicates that all files of a module have been processed.
     * This method offers Analyzers the possibility to report dependencies based on a module or store
     * {@link de.is24.deadcode4j.IntermediateResult}s.
     *
     * @since 1.4
     */
    void finishAnalysis(@Nonnull AnalysisContext analysisContext);

    /**
     * Indicates that all modules have been processed.
     * This method offers Analyzers the possibility to report dependencies based on the whole project.
     *
     * @since 2.0.0
     */
    void finishAnalysis(@Nonnull AnalysisSink analysisSink, @Nonnull AnalyzedCode analyzedCode);

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy