001    package jcolibri.method.maintenance;
002    
003    import java.util.Collection;
004    import java.util.LinkedList;
005    
006    import jcolibri.cbrcore.CBRCase;
007    import jcolibri.method.retrieve.KNNretrieval.KNNConfig;
008    
009    /**
010     * Implements the Maintenance Algorithm to remove 
011     * noise from the case base 
012     * 
013     * @author Lisa Cummins
014     */
015    public abstract class MaintenanceAlgorithm {
016    
017            /**
018             * Runs the maintenance algorithm, returning the cases
019             * deleted by the algorithm
020             * @param cases The group of cases on which to perform maintenance
021             * @param simConfig The KNNConfig for these cases
022             * @return the list of cases deleted by the algorithm
023             */
024            public abstract LinkedList<CBRCase> runMaintenance(Collection<CBRCase> cases, KNNConfig simConfig);
025    
026    }