Possibility of registering new owners added
[RRRRHHHH_Code] / ruralHouses / src / domain / Offer.java
index 36b7037..00a3e70 100644 (file)
 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