package domain;
-import java.io.*;
-//import java.util.Vector;
+import java.io.Serializable;
import java.util.Date;
-import businessLogic.OfferManager;
-import com.db4o.ObjectContainer;
-import dataAccess.DB4oManager;
+import java.util.LinkedList;
+import java.util.Vector;
+
@SuppressWarnings("serial")
public class Offer implements Serializable {
+
private int offerNumber;
- private Date firstDay;
- private Date lastDay;
- private float price;
- private Booking booking;
+ private Date firstDay; // Dates are stored as java.util.Date objects instead of java.sql.Date objects
+ private Date lastDay; // because, they are not well stored in db4o as java.util.Date objects
+ private float price; // This is coherent because objects of java.sql.Date are objects of java.util.Date
+ private Vector<Booking> bookings; // That is: java.sql.Date is a subclass (or extends) java.util.Date
private RuralHouse ruralHouse;
+
- public Offer(RuralHouse ruralHouse, Date firstDay, Date lastDay, float price) {
+ public Offer(int offerNumber,RuralHouse ruralHouse, Date firstDay, Date lastDay, float price){
this.firstDay=firstDay;
this.lastDay=lastDay;
this.price=price;
this.ruralHouse=ruralHouse;
- this.offerNumber=OfferManager.getNumber();
+ this.offerNumber=offerNumber;
}
-
+ /**
+ * Get the house number of the offer
+ *
+ * @return the house number
+ */
public RuralHouse getRuralHouse() {
return this.ruralHouse;
}
+ /**
+ * Set the house number to a offer
+ *
+ * @param house number
+ */
public void setRuralHouse(RuralHouse ruralHouse) {
this.ruralHouse = ruralHouse;
}
+
+ /**
+ * Get the offer number
+ *
+ * @return offer number
+ */
public int getOfferNumber() {
return this.offerNumber;
}
+
+
+ /**
+ * Get the first day of the offer
+ *
+ * @return the first day
+ */
public Date getFirstDay() {
return this.firstDay;
}
+ /**
+ * Set the first day of the offer
+ *
+ * @param firstDay
+ * The first day
+ */
public void setFirstDay(Date firstDay) {
this.firstDay = firstDay;
}
+ /**
+ * Get the last day of the offer
+ *
+ * @return the last day
+ */
public Date getLastDay() {
return this.lastDay;
}
+ /**
+ * Set the last day of the offer
+ *
+ * @param lastDay
+ * The last day
+ */
public void setLastDay(Date lastDay) {
this.lastDay = lastDay;
}
+ /**
+ * Get the price
+ *
+ * @return price
+ */
public float getPrice() {
return this.price;
}
+ /**
+ * Set the price
+ *
+ * @param price
+ */
public void setPrice(float price) {
this.price = price;
}
- public Booking getBooking() {
- return this.booking;
- }
-
- public void setBooking(Booking booking) {
- this.booking = booking;
+
+ /**
+ * This method creates a book with a corresponding parameters
+ *
+ * @param First day, last day, house number and telephone
+ * @return a book
+ */
+ public Booking createBooking(int numBooking,String bookTelephoneNumber,String name , String mail) {
+ Client client = new Client(name,mail,bookTelephoneNumber);
+ Booking b = new Booking(numBooking,this,client);
+ this.bookings.add(b);
+ return b;
+
}
- public Booking createBook(String bookTelephoneNumber) {
- Booking b=new Booking(bookTelephoneNumber, this);
- booking=b;
- return booking;
+ public String toString(){
+ return firstDay.toString()+", "+lastDay.toString()+", "+price;
+ }
+ public Vector<Booking> getBookings() {
+ return bookings;
+ }
+ public void setBookings(Vector<Booking> bookings) {
+ this.bookings = bookings;
}
}
\ No newline at end of file