forked from NeilAlishev/SpringCourse
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPersonDAO.java
More file actions
50 lines (39 loc) · 1.33 KB
/
PersonDAO.java
File metadata and controls
50 lines (39 loc) · 1.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
package ru.alishev.springcourse.dao;
import org.springframework.stereotype.Component;
import ru.alishev.springcourse.models.Person;
import java.util.ArrayList;
import java.util.List;
/**
* @author Neil Alishev
*/
@Component
public class PersonDAO {
private static int PEOPLE_COUNT;
private List<Person> people;
{
people = new ArrayList<>();
people.add(new Person(++PEOPLE_COUNT, "Tom", 24, "tom@mail.ru"));
people.add(new Person(++PEOPLE_COUNT, "Bob", 52, "bob@mail.ru"));
people.add(new Person(++PEOPLE_COUNT, "Mike", 18, "mike@yahoo.com"));
people.add(new Person(++PEOPLE_COUNT, "Katy", 34, "katy@gmail.com"));
}
public List<Person> index() {
return people;
}
public Person show(int id) {
return people.stream().filter(person -> person.getId() == id).findAny().orElse(null);
}
public void save(Person person) {
person.setId(++PEOPLE_COUNT);
people.add(person);
}
public void update(int id, Person updatedPerson) {
Person personToBeUpdated = show(id);
personToBeUpdated.setName(updatedPerson.getName());
personToBeUpdated.setAge(updatedPerson.getAge());
personToBeUpdated.setEmail(updatedPerson.getEmail());
}
public void delete(int id) {
people.removeIf(p -> p.getId() == id);
}
}