1 package net.mograsim.logic.model.model.components.atomic;
3 import net.mograsim.logic.core.components.gates.CoreAndGate;
4 import net.mograsim.logic.model.model.ViewModelModifiable;
5 import net.mograsim.logic.model.modeladapter.ViewLogicModelAdapter;
6 import net.mograsim.logic.model.modeladapter.componentadapters.SimpleGateAdapter;
7 import net.mograsim.logic.model.serializing.IndirectModelComponentCreator;
9 public class ModelAndGate extends SimpleRectangularModelGate
11 public ModelAndGate(ViewModelModifiable model, int logicWidth)
13 this(model, logicWidth, null);
16 public ModelAndGate(ViewModelModifiable model, int logicWidth, String name)
18 super(model, "AndGate", "&", false, logicWidth, name);
19 setInputCount(2);// TODO make variable
24 ViewLogicModelAdapter.addComponentAdapter(new SimpleGateAdapter<>(ModelAndGate.class, CoreAndGate::new));
25 IndirectModelComponentCreator.setComponentSupplier(ModelAndGate.class.getCanonicalName(),
26 (m, p, n) -> new ModelAndGate(m, p.getAsInt(), n));