001/** 002 * TravelDescription.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 * 28/11/2006 008 */ 009package es.ucm.fdi.gaia.jcolibri.test.test2; 010 011import es.ucm.fdi.gaia.jcolibri.cbrcore.Attribute; 012 013/** 014 * Bean that stores the description of the case. 015 * This version includes an enum for the accomodations and uses the MyStringType user defined type to store the hotels. 016 * @author Juan A. Recio-Garcia 017 * @version 1.0 018 */ 019public class TravelDescription implements es.ucm.fdi.gaia.jcolibri.cbrcore.CaseComponent { 020 021 /*********** Data types for the attributes *******/ 022 023 enum AccommodationTypes { OneStar, TwoStars, ThreeStars, HolidayFlat, FourStars, FiveStars}; 024 025 026 String caseId; 027 String HolidayType; 028 Integer Price; 029 Integer NumberOfPersons; 030 String Region; 031 String Transportation; 032 Integer Duration; 033 String Season; 034 AccommodationTypes Accommodation; 035 MyStringType Hotel; 036 037 038 public String toString() 039 { 040 return "("+caseId+";"+HolidayType+";"+Price+";"+NumberOfPersons+";"+Region+";"+Transportation+";"+Duration+";"+Season+";"+Accommodation+";"+Hotel+")"; 041 } 042 043 /** 044 * @return the accomodation 045 */ 046 public AccommodationTypes getAccommodation() { 047 return Accommodation; 048 } 049 /** 050 * @param accomodation the accomodation to set 051 */ 052 public void setAccommodation(AccommodationTypes accomodation) { 053 Accommodation = accomodation; 054 } 055 /** 056 * @return the caseId 057 */ 058 public String getCaseId() { 059 return caseId; 060 } 061 /** 062 * @param caseId the caseId to set 063 */ 064 public void setCaseId(String caseId) { 065 this.caseId = caseId; 066 } 067 /** 068 * @return the duration 069 */ 070 public Integer getDuration() { 071 return Duration; 072 } 073 /** 074 * @param duration the duration to set 075 */ 076 public void setDuration(Integer duration) { 077 Duration = duration; 078 } 079 /** 080 * @return the holidayType 081 */ 082 public String getHolidayType() { 083 return HolidayType; 084 } 085 /** 086 * @param holidayType the holidayType to set 087 */ 088 public void setHolidayType(String holidayType) { 089 HolidayType = holidayType; 090 } 091 /** 092 * @return the hotel 093 */ 094 public MyStringType getHotel() { 095 return Hotel; 096 } 097 /** 098 * @param hotel the hotel to set 099 */ 100 public void setHotel(MyStringType hotel) { 101 Hotel = hotel; 102 } 103 /** 104 * @return the numberOfPersons 105 */ 106 public Integer getNumberOfPersons() { 107 return NumberOfPersons; 108 } 109 /** 110 * @param numberOfPersons the numberOfPersons to set 111 */ 112 public void setNumberOfPersons(Integer numberOfPersons) { 113 NumberOfPersons = numberOfPersons; 114 } 115 /** 116 * @return the price 117 */ 118 public Integer getPrice() { 119 return Price; 120 } 121 /** 122 * @param price the price to set 123 */ 124 public void setPrice(Integer price) { 125 Price = price; 126 } 127 /** 128 * @return the region 129 */ 130 public String getRegion() { 131 return Region; 132 } 133 /** 134 * @param region the region to set 135 */ 136 public void setRegion(String region) { 137 Region = region; 138 } 139 /** 140 * @return the season 141 */ 142 public String getSeason() { 143 return Season; 144 } 145 /** 146 * @param season the season to set 147 */ 148 public void setSeason(String season) { 149 Season = season; 150 } 151 /** 152 * @return the transportation 153 */ 154 public String getTransportation() { 155 return Transportation; 156 } 157 /** 158 * @param transportation the transportation to set 159 */ 160 public void setTransportation(String transportation) { 161 Transportation = transportation; 162 } 163 164 public static void main(String[] args) { 165 TravelDescription t = new TravelDescription(); 166 t.setAccommodation(AccommodationTypes.ThreeStars); 167 Attribute at = new Attribute("Accommodation", TravelDescription.class); 168 try { 169 System.out.println(at.getValue(t)); 170 } catch (Exception e) { 171 e.printStackTrace(); 172 } 173 } 174 175 public Attribute getIdAttribute() { 176 return new Attribute("caseId", this.getClass()); 177 } 178}