package magic.ui.screen.keywords; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; import java.util.stream.Stream; import magic.data.CardDefinitions; import magic.model.MagicCardDefinition; class Keyword implements Comparable<Keyword> { private final String name; private final List<String> description = new ArrayList<>(); private String[] cards = new String[]{}; Keyword(String name) { this.name = name; } @Override public int compareTo(Keyword o) { return name.compareTo(o.name); } void setExampleCards(String[] cards) { this.cards = cards; } List<MagicCardDefinition> getExampleCards() { try { return Stream.of(cards) .map(c -> CardDefinitions.getMissingOrCard(c)) .collect(Collectors.toList()); } catch (Exception ex) { System.err.println(ex); return new ArrayList<>(); } } @Override public String toString() { return name; } void addDescriptionLine(String line) { description.add(line); } String getName() { return name; } String getDescriptionAsHtml() { return description.stream() .collect(Collectors.joining("<br><br>", "<html>", "</html>")); } }