001 /** 002 * CBRCase.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 010 package jcolibri.cbrcore; 011 012 /** 013 * Interface that represents any Case structure of jCOLIBRI. It is composed by several CaseComponents: 014 * <ul> 015 * <li>A description (inherited from CBRQuery). 016 * <li>A solution. 017 * <li>A justification of a Solution. 018 * <li>A result. 019 * </ul> 020 * <p>These components of a case where decided after a revision of the following books: 021 * <ul> 022 * <li>I. Watson. Applying case-based reasoning: techniques for enterprise systems. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 1998. 023 * <li>K.-D. Althoff, E. Auriol, R. Barletta, and M. Manago. A Review of Industrial Case-Based Reasoning Tools. AI Intelligence, Oxford, 1995. 024 * </ul> 025 * 026 * @see jcolibri.cbrcore.CaseComponent 027 */ 028 public class CBRCase extends CBRQuery { 029 030 CaseComponent solution; 031 CaseComponent justificationOfSolution; 032 CaseComponent result; 033 034 /** 035 * Returns the justificationOfSolution. 036 */ 037 public CaseComponent getJustificationOfSolution() { 038 return justificationOfSolution; 039 } 040 /** 041 * Sets the Justification of Solution component. 042 * @param justificationOfSolution The justificationOfSolution to set. 043 */ 044 public void setJustificationOfSolution(CaseComponent justificationOfSolution) { 045 this.justificationOfSolution = justificationOfSolution; 046 } 047 /** 048 * Returns the result. 049 */ 050 public CaseComponent getResult() { 051 return result; 052 } 053 /** 054 * Sets the Result component 055 */ 056 public void setResult(CaseComponent result) { 057 this.result = result; 058 } 059 /** 060 * Returns the solution. 061 */ 062 public CaseComponent getSolution() { 063 return solution; 064 } 065 /** 066 * Sets the solution component 067 */ 068 public void setSolution(CaseComponent solution) { 069 this.solution = solution; 070 } 071 072 073 public String toString() 074 { 075 return super.toString()+"[Solution: "+solution+"][Sol.Just.: "+justificationOfSolution+"][Result: "+result+"]"; 076 } 077 078 }