Como ele pediu um repositório parecido com o de alunos, não criei um CRUD inteiro para a resolução, mas aqui está minha resposta para o desafio:
package br.com.alura.escola.infra.selo;
import br.com.alura.escola.dominio.aluno.Aluno;
import br.com.alura.escola.dominio.aluno.CPF;
import br.com.alura.escola.dominio.selo.Selo;
import br.com.alura.escola.dominio.selo.SeloRepository;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
public class RepositorioDeSelosEmMemoria implements SeloRepository {
List<Selo> selos = new ArrayList<>();
@Override
public void criaSelo(Aluno aluno, String nomeDoSelo) {
selos.add(new Selo(aluno, nomeDoSelo));
}
@Override
public List<Selo> encontraSelosDoAluno(Aluno aluno) {
return selos.stream().filter(selo -> selo.getCpfDoAluno().equals(new CPF(aluno.getCpf()))).collect(Collectors.toList());
}
}
Espero ter alcançado o objetivo desta aula da maneira correta.