46 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
package models;
 | 
						|
 | 
						|
import java.util.HashMap;
 | 
						|
import java.util.HashSet;
 | 
						|
import java.util.Map;
 | 
						|
import java.util.Set;
 | 
						|
 | 
						|
public class StudentStore {
 | 
						|
    private static StudentStore instance;
 | 
						|
    private Map<Integer, Student> students = new HashMap<>();
 | 
						|
 | 
						|
    public static StudentStore getInstance() {
 | 
						|
        if (instance == null) {
 | 
						|
            instance = new StudentStore();
 | 
						|
        }
 | 
						|
        return instance;
 | 
						|
    }
 | 
						|
 | 
						|
    public Student addStudent(Student student) {
 | 
						|
        int id = students.size();
 | 
						|
        student.setId(id);
 | 
						|
        students.put(id, student);
 | 
						|
        return student;
 | 
						|
    }
 | 
						|
 | 
						|
    public Student getStudent(int id) {
 | 
						|
        return students.get(id);
 | 
						|
    }
 | 
						|
 | 
						|
    public Set<Student> getAllStudents() {
 | 
						|
        return new HashSet<>(students.values());
 | 
						|
    }
 | 
						|
 | 
						|
    public Student updateStudent(Student student) {
 | 
						|
        int id = student.getId();
 | 
						|
        if (students.containsKey(id)) {
 | 
						|
            students.put(id, student);
 | 
						|
            return student;
 | 
						|
        }
 | 
						|
        return null;
 | 
						|
    }
 | 
						|
 | 
						|
    public boolean deleteStudent(int id) {
 | 
						|
        return students.remove(id) != null;
 | 
						|
    }
 | 
						|
} |