2016-09-13 11:52:27 -04:00
|
|
|
package models;
|
2016-10-04 11:54:59 -04:00
|
|
|
|
2016-09-13 11:52:27 -04:00
|
|
|
import java.util.HashMap;
|
2016-10-04 11:29:49 -04:00
|
|
|
import java.util.HashSet;
|
2016-09-13 11:52:27 -04:00
|
|
|
import java.util.Map;
|
2016-10-03 15:06:01 -04:00
|
|
|
import java.util.Set;
|
2016-09-13 11:52:27 -04:00
|
|
|
|
|
|
|
public class StudentStore {
|
|
|
|
private static StudentStore instance;
|
|
|
|
private Map<Integer, Student> students = new HashMap<>();
|
|
|
|
|
|
|
|
public static StudentStore getInstance() {
|
2016-10-04 11:54:59 -04:00
|
|
|
if (instance == null) {
|
2016-09-13 11:52:27 -04:00
|
|
|
instance = new StudentStore();
|
2016-10-04 11:54:59 -04:00
|
|
|
}
|
2016-09-13 11:52:27 -04:00
|
|
|
return instance;
|
|
|
|
}
|
|
|
|
|
|
|
|
public Student addStudent(Student student) {
|
2016-10-04 11:54:59 -04:00
|
|
|
int id = students.size();
|
2016-09-13 11:52:27 -04:00
|
|
|
student.setId(id);
|
|
|
|
students.put(id, student);
|
|
|
|
return student;
|
|
|
|
}
|
|
|
|
|
|
|
|
public Student getStudent(int id) {
|
2016-10-03 15:06:01 -04:00
|
|
|
return students.get(id);
|
2016-09-13 11:52:27 -04:00
|
|
|
}
|
|
|
|
|
2016-10-03 15:06:01 -04:00
|
|
|
public Set<Student> getAllStudents() {
|
2016-10-04 11:29:49 -04:00
|
|
|
return new HashSet<>(students.values());
|
2016-09-13 11:52:27 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
public Student updateStudent(Student student) {
|
2016-10-04 11:54:59 -04:00
|
|
|
int id = student.getId();
|
2016-09-13 11:52:27 -04:00
|
|
|
if (students.containsKey(id)) {
|
|
|
|
students.put(id, student);
|
|
|
|
return student;
|
|
|
|
}
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
|
|
|
|
public boolean deleteStudent(int id) {
|
2016-10-04 11:24:46 -04:00
|
|
|
return students.remove(id) != null;
|
2016-09-13 11:52:27 -04:00
|
|
|
}
|
|
|
|
}
|