001    /**
002     * CaseComponent.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/01/2007
008     */
009    package jcolibri.cbrcore;
010    
011    /**
012     * Interface that defines a component of a case. Cases are composed by instances of this interface. 
013     * These components are normal Java Beans with set/get() methods for each field.
014     * 
015     * @author Juan A. Recio-García
016     */
017    public interface CaseComponent {
018            
019            /**
020             * Returns the attribute that identifies the component. 
021             * An id-attribute must be unique for each component.
022             */
023            jcolibri.cbrcore.Attribute getIdAttribute();
024    }