forked from ShwetaKhatri/src
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathManufacturer.java
94 lines (85 loc) · 2 KB
/
Manufacturer.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
import java.util.ArrayList;
import java.util.HashMap;
/**
* @author Shweta
* This class represents Car Manufacturers
*
*/
public abstract class Manufacturer {
private String manufacturerName;
private ArrayList<Car> cars;
private HashMap<String,Accessory> accessories;
public Manufacturer() {
cars = new ArrayList<Car>();
accessories = new HashMap<String,Accessory>();
}
/*
* Sets a Manufacturer Name.
*/
public void setManufacturerName(String name){
if(name!= null) {
manufacturerName = name;
}
else {
throw new NullPointerException("Please provide a manufacturer name");
}
}
/*
*@return Manufacturer Name of the object this
*/
public String getManufacturerName(){
if(manufacturerName != null) {
return manufacturerName;
}
else {
throw new NullPointerException("Manufacturer not present");
}
}
/*
* @param car to be added to manufacturer.
*/
public void addCar(Car car){
if(car!=null) {
cars.add(car);
}
else {
throw new NullPointerException("Cannot pass null values for Car");
}
}
/*
* @param car to be removed from manufacturer
*/
public void removeCar(Car car){
if(cars.contains(car)) {
cars.remove(car);
}
else {
throw new NullPointerException("Car not present");
}
}
/*
* @param accessoryName - Name of the accessory to be added
* @param accessoryValue - Accessory object that stores details about
* accessories offered by a manufacturer
*/
public void addAccessories(String accessoryName,Accessory accessoryValue){
accessories.put(accessoryName, accessoryValue);
}
/*
* @param accessory name
* @returns accessory object if accessory is offered by the
* manufacturer
*/
public Accessory getAccessories(String accessoryName) {
if(accessories.containsKey(accessoryName)) {
return accessories.get(accessoryName);
}
else {
throw new NullPointerException("No such accessory offered by manufacturer.");
}
}
public abstract void printCars();
public ArrayList<Car> getCars() {
return cars;
}
}