001 /** 002 * SelectAttributeMethod.java 003 * jCOLIBRI2 framework. 004 * @author Juan A. Recio-García. 005 * GAIA - Group for Artificial Intelligence Applications 006 * http://gaia.fdi.ucm.es 007 * 05/11/2007 008 */ 009 package jcolibri.extensions.recommendation.navigationByAsking; 010 011 import java.util.Collection; 012 013 import jcolibri.cbrcore.Attribute; 014 import jcolibri.cbrcore.CBRCase; 015 import jcolibri.cbrcore.CBRQuery; 016 import jcolibri.exception.ExecutionException; 017 018 /** 019 * Interface for methods that select an attribute to be asked. 020 * 021 * @author Juan A. Recio-Garcia 022 * @author Developed at University College Cork (Ireland) in collaboration with Derek Bridge. 023 * @version 1.0 024 * 025 */ 026 public interface SelectAttributeMethod 027 { 028 /** 029 * Selects the attribute to be asked 030 * @param cases list of working cases 031 * @param query is the current query 032 * @return selected attribute or null if there are not more attributes to ask. 033 * @throws ExecutionException 034 */ 035 public Attribute getAttribute(Collection<CBRCase> cases, CBRQuery query) throws ExecutionException; 036 }