package tutorial;
import java.util.ArrayList;
import java.util.List;
public class Main {
  interface Store { void save(String value); }
  static final class MemoryStore implements Store {
    final List<String> values = new ArrayList<>();
    public void save(String value) { values.add(value); }
  }
  static final class Service {
    final Store store;
    Service(Store store) { this.store = store; }
    void create(String input) {
      if (input == null || input.isBlank()) throw new IllegalArgumentException("Name required");
      store.save(input.trim());
    }
  }
  public static void main(String[] args) {
    var store = new MemoryStore();
    new Service(store).create("  Letters  ");
    System.out.println(store.values);
  }
}
