Option.java 634 B

1234567891011121314151617181920212223242526
  1. package chylex.bettercontrols.gui.elements;
  2. import chylex.bettercontrols.util.LiteralText;
  3. import java.util.List;
  4. import java.util.Objects;
  5. public final class Option<T> {
  6. private final T value;
  7. private final LiteralText text;
  8. public Option(final T value, final LiteralText text) {
  9. this.value = value;
  10. this.text = text;
  11. }
  12. public T getValue() {
  13. return value;
  14. }
  15. public LiteralText getText() {
  16. return text;
  17. }
  18. public static <T> Option<T> find(final List<Option<T>> options, final T value) {
  19. return options.stream().filter(it -> Objects.equals(it.value, value)).findFirst().orElseGet(() -> options.get(0));
  20. }
  21. }