
de.is24.deadcode4j.IntermediateResult Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of deadcode4j-maven-plugin Show documentation
Show all versions of deadcode4j-maven-plugin Show documentation
Finds unused classes of a project
package de.is24.deadcode4j;
import javax.annotation.Nonnull;
/**
* If an IntermediateResult
is put into an {@link AnalysisContext#getCache() analysis context's cache},
* it will be made available to the analysis context of those modules depending on the module the result belongs to.
*
* @since 2.0.0
*/
public interface IntermediateResult {
/**
* If a module depends on both module A and B, each providing an intermediate result for the same key,
* the results will be merged by calling this method on A's result using B's result as a parameter.
* Note that if collisions occur, A's results should usually be preferred as A is listed higher in the
* class path.
* It is important that neither result is modified by this call.
*
* @param sibling the IntermediateResult
to merge with
* @return a new IntermediateResult
instance
* @since 2.0.0
*/
@Nonnull
IntermediateResult mergeSibling(@Nonnull IntermediateResult sibling);
/**
* If a module depends on module A which in turn depends on module B, both providing an intermediate
* result for the same key, the results will be merged by calling this method on A's result using B's
* result as a parameter.
* Note that if collisions occur, A's results should be preferred as A is listed higher in the class
* path.
* It is important that neither result is modified by this call.
*
* @param parent the IntermediateResult
to merge with
* @return a new IntermediateResult
instance
* @since 2.0.0
*/
@Nonnull
IntermediateResult mergeParent(@Nonnull IntermediateResult parent);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy