package net.nemerosa.ontrack.model.buildfilter;

import com.fasterxml.jackson.databind.JsonNode;
import net.nemerosa.ontrack.model.structure.ID;

public interface BuildFilterService {

    BuildFilter defaultFilter();

    BuildFilters getBuildFilters(ID branchId);

    BuildFilter computeFilter(ID branchId, String type, JsonNode parameters);
}

@@ -139,16 +139,56 @@
 re.ID;%0A%0A
+/**%0A * Management of build filters.%0A */%0A
 public i
@@ -226,85 +226,857 @@
     
-BuildFilter defaultFilter();%0A%0A    BuildFilters getBuildFilters(ID branchId);%0A
+/**%0A     * Gets the default filter to use when none is defined.%0A     */%0A    BuildFilter defaultFilter();%0A%0A    /**%0A     * Gets the list of all filters, and the forms to create new ones.%0A     *%0A     * @param branchId Branch to get the filters for%0A     * @return List of filters and the forms to define new ones%0A     */%0A    BuildFilters getBuildFilters(ID branchId);%0A%0A    /**%0A     * Basic method to compute an actual filter from a type and a list of parameters.%0A     *%0A     * @param branchId   Branch to apply the filter on%0A     * @param type       Qualified type for the filter%0A     * @param parameters Parameters for the filter%0A     * @return Actual filter to use, or the %7B@linkplain #defaultFilter() default filter%7D if%0A     * the %3Ccode%3Etype%3C/code%3E cannot be resolved or if the filter cannot be instantiated using%0A     * the given parameters.%0A     */
 %0A   

Build filter: added documentation