001package eu.cqse.check.framework.core;
002
003/**
004 * Interface for Custom Checks that modify the description of their findings
005 * based on the check options.
006 * <p>
007 * Implementers must also extend {@link CheckImplementationBase}.
008 */
009public interface IFindingDescriptionModifyingCheck {
010
011        /**
012         * Allows to override the default finding description (the default is the string
013         * given in the "description" field of the {@link Check} annotation) based on
014         * the check options.
015         * 
016         * This can be used to reflect complex check-option values in the
017         * FindingDetailsPage if they can't be properly included in the finding message.
018         * 
019         * The finding description is the same for all findings of a given custom check
020         * in a given project.
021         * 
022         * When this method is called, the check options are initialized and
023         * {@link CheckImplementationBase#initialize()} has been called.
024         * 
025         * @return The new finding description, enriched based on check-option values.
026         */
027        String computeUpdatedFindingDescription();
028}