- Set<ComponentAdapter<? extends GUIComponent>> componentAdaptersModifiable = new HashSet<>();
- componentAdaptersModifiable.add(new SimpleGateAdapter<>(GUIOrGate.class, OrGate::new));
- componentAdaptersModifiable.add(new SimpleGateAdapter<>(GUIAndGate.class, AndGate::new));
- componentAdaptersModifiable.add(new SimpleGateAdapter<>(GUINotGate.class, (t, p, o, i) -> new NotGate(t, p, i[0], o)));
- componentAdaptersModifiable.add(new SimpleGateAdapter<>(GUINandGate.class, NandGate::new));
- componentAdaptersModifiable.add(new ManualSwitchAdapter());
- componentAdaptersModifiable.add(new BitDisplayAdapter());
- // TODO list all adapters here
- componentAdapters = Collections.unmodifiableMap(
- componentAdaptersModifiable.stream().collect(Collectors.toMap(ComponentAdapter::getSupportedClass, Function.identity())));