package org.tessell.tests.model.commands; import static org.tessell.model.properties.NewProperty.booleanProperty; import org.tessell.model.commands.HasActive; import org.tessell.model.properties.BooleanProperty; /** Fails depending on the instance variable {@code fail}. */ public class DummyActiveCommand extends DummyUiCommand implements HasActive { private final BooleanProperty active = booleanProperty("active"); private int outstanding = 0; public void done() { if (--outstanding == 0) { active.set(false); } } @Override public BooleanProperty active() { return active; } @Override protected void doExecute() { active.set(true); outstanding++; super.doExecute(); } }