/
Inventory.java
43 lines (33 loc) · 992 Bytes
/
Inventory.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
package com.boutiquelab.ooad.ch1;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
public class Inventory {
private List<Guitar> guitars;
public Inventory() {
guitars = new LinkedList<Guitar>();
}
public void addGuitar(String serialNumber, double price, GuitarSpec spec) {
Guitar guitar = new Guitar(serialNumber, price, spec);
guitars.add(guitar);
}
public Guitar getGuitar(String serialNumber) {
for (Iterator<Guitar> i = guitars.iterator(); i.hasNext(); ) {
Guitar guitar = (Guitar)i.next();
if (guitar.getSerialNumber().equals(serialNumber)) {
return guitar;
}
}
return null;
}
public List<Guitar> search(GuitarSpec searchSpec) {
List<Guitar> matchingGuitars = new LinkedList<Guitar>();
for (Iterator<Guitar> i = guitars.iterator(); i.hasNext(); ) {
Guitar guitar = (Guitar)i.next();
if (guitar.getSpec().matches(searchSpec)) {
matchingGuitars.add(guitar);
}
}
return matchingGuitars;
}
}