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;
 | ||
|  |     }
 | ||
|  | }
 |