clean architecture ports code example
Example: ports in clean architecture
public class PoemRepositoryAdapter implements IObtainPoems {
private PoemRepository poemRepository;
public PoemRepositoryAdapter(PoemRepository poemRepository) {
this.poemRepository = poemRepository;
}
@Override
public String[] getMePoems(String language) {
Collection<Poem> poems = poemRepository.findByLanguage(language);
final String[] poemsArray = poems.stream()
.map(p -> p.getText())
.collect(Collectors.toList())
.toArray(new String[0]);
return poemsArray;
}
}