package org.societies.context.user.refinement.impl.bayesianLibrary.bayesianLearner.interfaces; import java.util.Enumeration; /** * This interface specifies how Candidates for greedy search are generated. The interface * provides four functionalities: making a starting candidate, making an empty candidate, * initialising with a certain candidate, and returning an * Enumeration over the current generation. * @author robert_p * */ public interface CandidatesGenerator { /** * This method prepares an Enumeration that can be used to go through all * candidates of this generation. Care: the Enumeration may contain null elements. * @return an Enumeration over all possible modifications in this generation */ public Enumeration<Candidate> returnEnumerationOverModifiedCandidates(); /** * Initialise the CandidatesGenerator with a starting Candidate - called at each new generation; e.g. with a call like: * this.candidatesGenerator.initialise(this.bestLocalCandidate); * @param startingCandidate */ public void initialise(Candidate startingCandidate); /** * @return a suitable starting candidate */ public Candidate makeStartingCandidate(); /** * @return an empty candidate instance */ public Candidate makeEmptyCandidate(); }