38 lines
		
	
	
		
			937 B
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			937 B
		
	
	
	
		
			Java
		
	
	
	
	
	
| package store;
 | |
| 
 | |
| import model.Student;
 | |
| 
 | |
| import java.util.*;
 | |
| 
 | |
| public class StudentStore {
 | |
|     private Map<Integer, Student> students = new HashMap<>();
 | |
| 
 | |
|     public Optional<Student> addStudent(Student student) {
 | |
|         int id = students.size();
 | |
|         student.setId(id);
 | |
|         students.put(id, student);
 | |
|         return Optional.ofNullable(student);
 | |
|     }
 | |
| 
 | |
|     public Optional<Student> getStudent(int id) {
 | |
|         return Optional.ofNullable(students.get(id));
 | |
|     }
 | |
| 
 | |
|     public Set<Student> getAllStudents() {
 | |
|         return new HashSet<>(students.values());
 | |
|     }
 | |
| 
 | |
|     public Optional<Student> updateStudent(Student student) {
 | |
|         int id = student.getId();
 | |
|         if (students.containsKey(id)) {
 | |
|             students.put(id, student);
 | |
|             return Optional.ofNullable(student);
 | |
|         }
 | |
|         return Optional.empty();
 | |
|     }
 | |
| 
 | |
|     public boolean deleteStudent(int id) {
 | |
|         return students.remove(id) != null;
 | |
|     }
 | |
| }
 |