0% found this document useful (0 votes)
44 views7 pages

Online Reservation System

The document defines classes for representing items that can be reserved in a reservation system. The Item class stores details of individual items like id, description, features etc. and methods for managing reservations. The ReservationSystem class manages a list of items and provides methods for adding/removing items and features, reserving/canceling reservations and viewing item details. The App class contains the main method which runs a menu driven program to demonstrate usage of the reservation system classes.

Uploaded by

niazpocof1
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
44 views7 pages

Online Reservation System

The document defines classes for representing items that can be reserved in a reservation system. The Item class stores details of individual items like id, description, features etc. and methods for managing reservations. The ReservationSystem class manages a list of items and provides methods for adding/removing items and features, reserving/canceling reservations and viewing item details. The App class contains the main method which runs a menu driven program to demonstrate usage of the reservation system classes.

Uploaded by

niazpocof1
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

item

package uap;
import java.util.*;
public class Item {
private String id;
private String description;
private String category;
private ArrayList<String> features;
private double rate;
private boolean isAvailable;
private String owner;
private String personReserved;

public Item(String id, String description, String category,


ArrayList<String> features ,double rate,String owner) {
this.id=id;
this.description=description;
this.category=category;
this.features= features;
this.rate=rate;
this.owner=owner;
this.isAvailable = true;
}

public void addFeature(String feature) {

features.add(feature);

}
public void removeFeature(String feature) {

features.remove(feature);
}
public void addFeatures(ArrayList<String> features) {

this.features.addAll(features);

}
public void removeFeatures(ArrayList<String>features) {

this.features.removeAll(features);

}
//getter methods
public String getId() {
return id;
}
public String getDescription() {
return description;
}
public String getCategory() {
return category;
}
public ArrayList<String> getFeatures(){
return features ;
}
public double getRate() {
return rate;
}
public boolean getIsAvailable() {
return isAvailable;
}
public String getOwner() {
return owner;
}
public String getPersonReserved() {
return personReserved;
}
//setter methods
public void setRate(double newrate) {
rate = newrate;
}
public void setIsAvailable(boolean availibity ) {
isAvailable = availibity;
}
public void setPersonReserved(String personName) {
personReserved = personName;
}
public void reserveItem(String personReserved) {
if(isAvailable == true) {
setIsAvailable(false);
setPersonReserved(personReserved);
}
}
public void reservationOver() {
setIsAvailable(true);
setPersonReserved(null);
}
public void cancelReservation() {
setIsAvailable(true);
setPersonReserved(null);
}
public String toString() {
return String.format("Id :%s Description :%s Category :%s Features
:%s Rate: %f Availability :%b Owner name :%s Person that Reserved :%s
",id,description,category,features,rate,isAvailable,owner,personReserved);

}
}

ReservationSystem
package uap;
import java.util.*;
public class ReservationSystem {
private String name;
private ArrayList<Item> items;

public ReservationSystem(String name) {


this.name=name;
this.items=new ArrayList<Item>();
}
public void addItem(String id, String description, String category,
double rate, ArrayList<String> features, String owner) {
Item item=new Item(id,description, category, features,rate,owner);
items.add(item);
}
public Item findItem(String id) {
for(Item item: items) {
if(item.getId().equals(id)) {
return item;
}
}
return null;
}
public void addFeature(String id, String feature) {
Item it=findItem(id);
if(it!=null) {
it.addFeature(feature);
}else System.out.println("Item not found");
}
public void removeFeature(String id, String feature) {
Item it=findItem(id);
if(it!=null) {
it.removeFeature(feature);
}else System.out.println("Item not found");
}
public void addFeatures(String id, ArrayList<String> features) {
Item it=findItem(id);
if(it!=null) {
it.addFeatures(features);
}else System.out.println("Item not found");
}
public void removeFeatures(String id,ArrayList<String> features) {
Item it=findItem(id);
if(it!=null) {
it.removeFeatures(features);
}else System.out.println("Item not found");
}
public void reserveItem(String id, String personReserved) {
Item it=findItem(id);
if(it!=null) {
it.reserveItem(personReserved);
}else System.out.println("Item not found");
}
public void reservationComplete(String id) {
Item item_=findItem(id);
if(item_!=null) {
item_.reservationOver();
}else System.out.println("Item not found");
}
public void cancelReservation(String id) {
Item item_=findItem(id);
if(item_!=null) {
item_.cancelReservation();
}else System.out.println("Item not found");
}
public ArrayList<Item> getItems() {
return items;
}
public void viewAll() {
for(Item item: items) {
System.out.println(item.toString());
}
}
public void viewDetails(String id) {
Item item_=findItem(id);
if(item_!=null) {
System.out.println(item_.toString());
}else System.out.println("Item not found");
}
}
App
package uap.app;
import java.util.*;
import uap.ReservationSystem;
public class App {
public static void main(String[] args) {
Scanner scan=new Scanner(System.in).useDelimiter("\r\n");
ReservationSystem res=new ReservationSystem("Hotel");
Menu:
while(true) {
System.out.println("\n1. Add Item\n2. Add Single Feature\n3.
Add Multiple Features\n4. Remove Single Feature\n5. Remove Multiple
Features\n6. Reserve Item\n7. Reservation Complete\n8. Cancel Reservation\n9.
View All\n10. View Details\n0. Exit system\n");
int option=scan.nextInt();

switch(option) {
case 1:
System.out.print("Enter id:");
String id=scan.next();
System.out.print("Enter description:");
String des=scan.next();
System.out.print("Enter category:");
String cate=scan.next();
System.out.print("Enter rate:");
double raate=scan.nextDouble();
ArrayList<String> frList=new ArrayList<String>();
System.out.print("How many feature?:");
int n=scan.nextInt();
String str;
for(int i=0;i<n;i++) {
str=scan.next();
frList.add(str);
}
System.out.print("Enter Owner name:");
String own=scan.next();
res.addItem(id, des, cate, raate, frList, own);
break;
case 2:
System.out.print("Enter id:");
id=scan.next();
System.out.print("Enter Feature:");
String feat=scan.next();
res.addFeature(id, feat);
break;
case 3:
System.out.print("Enter id:");
id=scan.next();
ArrayList<String> frList2=new ArrayList<String>();
System.out.print("How many feature?:");
n=scan.nextInt();
for(int i=0;i<n;i++) {
System.out.print("Enter Feature:");
str=scan.next();
frList2.add(str);
}
res.addFeatures(id, frList2);
break;
case 4:
System.out.print("Enter id:");
id=scan.next();
System.out.print("Enter Feature:");
feat=scan.next();
res.removeFeature(id, feat);
break;
case 5:
System.out.print("Enter id:");
id=scan.next();
ArrayList<String> frList3=new ArrayList<String>();
System.out.print("How many feature?:");
n=scan.nextInt();
for(int i=0;i<n;i++) {
str=scan.next();
frList3.add(str);
}
res.removeFeatures(id, frList3);
break;
case 6:
System.out.print("Enter id:");
id=scan.next();
System.out.print("Enter person name:");
String per=scan.next();
res.reserveItem(id, per);
break;
case 7:
System.out.print("Enter id:");
id=scan.next();
res.reservationComplete(id);
break;
case 8:
System.out.print("Enter id:");
id=scan.next();
res.cancelReservation(id);
break;
case 9:
res.viewAll();
break;
case 10:
System.out.print("Enter id:");
id=scan.next();
res.viewDetails(id);
break;
case 0:
break Menu;
}

}
}

You might also like