blob: 2367168a0890d3b94006bd2d7226dd659ced6c86 [file] [log] [blame]
package com.google.lizlooney.shoppinglist;
import java.util.List;
import java.util.TreeSet;
/**
* Class maintaining the set of all aisles.
*
* @author lizlooney@gmail.com (Liz Looney)
*/
public final class Aisles {
private final Object lock = new Object();
private final TreeSet<String> aisles = new TreeSet<>();
public void loadAisles(List<Item> items) {
synchronized (lock) {
// Loads the aisles TreeSet with the aisles that are used in the items.
clear();
for (Item item: items) {
add(item);
}
}
}
public void clear() {
synchronized (lock) {
aisles.clear();
}
}
public void add(Item newItem) {
synchronized (lock) {
for (String aisle : newItem.getAisles()) {
aisles.add(aisle);
}
}
}
public String[] getAislesArray() {
synchronized (lock) {
return aisles.toArray(new String[0]);
}
}
}