[Major] Added StrolchPolicy.undo()
- and from now on we don't use interfaces anymore. We use abstract classes with StrolchPolicy as the super class. - it would be lovely if Java would get rid of interfaces and abstract classes. We only need one: abstract classes.
This commit is contained in:
parent
01a86ca9f7
commit
cde640d511
|
@ -73,4 +73,9 @@ public abstract class StrolchPolicy {
|
|||
protected StrolchTransaction tx() {
|
||||
return this.tx;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see Command#undo()
|
||||
*/
|
||||
protected abstract void undo();
|
||||
}
|
||||
|
|
|
@ -15,12 +15,19 @@
|
|||
*/
|
||||
package li.strolch.policytest;
|
||||
|
||||
import li.strolch.agent.api.ComponentContainer;
|
||||
import li.strolch.model.activity.Action;
|
||||
import li.strolch.persistence.api.StrolchTransaction;
|
||||
import li.strolch.policy.StrolchPolicy;
|
||||
|
||||
/**
|
||||
* @author Robert von Burg <eitch@eitchnet.ch>
|
||||
*/
|
||||
public interface TestConfirmationPolicy {
|
||||
public abstract class TestConfirmationPolicy extends StrolchPolicy {
|
||||
|
||||
public void confirm(Action action);
|
||||
public TestConfirmationPolicy(ComponentContainer container, StrolchTransaction tx) {
|
||||
super(container, tx);
|
||||
}
|
||||
|
||||
public abstract void confirm(Action action);
|
||||
}
|
||||
|
|
|
@ -15,12 +15,19 @@
|
|||
*/
|
||||
package li.strolch.policytest;
|
||||
|
||||
import li.strolch.agent.api.ComponentContainer;
|
||||
import li.strolch.model.activity.Action;
|
||||
import li.strolch.persistence.api.StrolchTransaction;
|
||||
import li.strolch.policy.StrolchPolicy;
|
||||
|
||||
/**
|
||||
* @author Robert von Burg <eitch@eitchnet.ch>
|
||||
*/
|
||||
public interface TestExecutionPolicy {
|
||||
public abstract class TestExecutionPolicy extends StrolchPolicy {
|
||||
|
||||
public void execute(Action action);
|
||||
public TestExecutionPolicy(ComponentContainer container, StrolchTransaction tx) {
|
||||
super(container, tx);
|
||||
}
|
||||
|
||||
public abstract void execute(Action action);
|
||||
}
|
||||
|
|
|
@ -19,12 +19,11 @@ import li.strolch.agent.api.ComponentContainer;
|
|||
import li.strolch.model.State;
|
||||
import li.strolch.model.activity.Action;
|
||||
import li.strolch.persistence.api.StrolchTransaction;
|
||||
import li.strolch.policy.StrolchPolicy;
|
||||
|
||||
/**
|
||||
* @author Robert von Burg <eitch@eitchnet.ch>
|
||||
*/
|
||||
public class TestNoConfirmationPolicy extends StrolchPolicy implements TestConfirmationPolicy {
|
||||
public class TestNoConfirmationPolicy extends TestConfirmationPolicy {
|
||||
|
||||
public TestNoConfirmationPolicy(ComponentContainer container, StrolchTransaction tx) {
|
||||
super(container, tx);
|
||||
|
@ -34,4 +33,9 @@ public class TestNoConfirmationPolicy extends StrolchPolicy implements TestConfi
|
|||
public void confirm(Action action) {
|
||||
action.setState(State.CLOSED);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void undo() {
|
||||
// do nothing
|
||||
}
|
||||
}
|
||||
|
|
|
@ -15,12 +15,19 @@
|
|||
*/
|
||||
package li.strolch.policytest;
|
||||
|
||||
import li.strolch.agent.api.ComponentContainer;
|
||||
import li.strolch.model.activity.Action;
|
||||
import li.strolch.persistence.api.StrolchTransaction;
|
||||
import li.strolch.policy.StrolchPolicy;
|
||||
|
||||
/**
|
||||
* @author Robert von Burg <eitch@eitchnet.ch>
|
||||
*/
|
||||
public interface TestPlanningPolicy {
|
||||
public abstract class TestPlanningPolicy extends StrolchPolicy {
|
||||
|
||||
public void plan(Action action);
|
||||
public TestPlanningPolicy(ComponentContainer container, StrolchTransaction tx) {
|
||||
super(container, tx);
|
||||
}
|
||||
|
||||
public abstract void plan(Action action);
|
||||
}
|
||||
|
|
|
@ -19,12 +19,11 @@ import li.strolch.agent.api.ComponentContainer;
|
|||
import li.strolch.model.State;
|
||||
import li.strolch.model.activity.Action;
|
||||
import li.strolch.persistence.api.StrolchTransaction;
|
||||
import li.strolch.policy.StrolchPolicy;
|
||||
|
||||
/**
|
||||
* @author Robert von Burg <eitch@eitchnet.ch>
|
||||
*/
|
||||
public class TestSimplePlanningPolicy extends StrolchPolicy implements TestPlanningPolicy {
|
||||
public class TestSimplePlanningPolicy extends TestPlanningPolicy {
|
||||
|
||||
public TestSimplePlanningPolicy(ComponentContainer container, StrolchTransaction tx) {
|
||||
super(container, tx);
|
||||
|
@ -34,4 +33,9 @@ public class TestSimplePlanningPolicy extends StrolchPolicy implements TestPlann
|
|||
public void plan(Action action) {
|
||||
action.setState(State.PLANNED);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void undo() {
|
||||
// do nothing
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,12 +19,11 @@ import li.strolch.agent.api.ComponentContainer;
|
|||
import li.strolch.model.State;
|
||||
import li.strolch.model.activity.Action;
|
||||
import li.strolch.persistence.api.StrolchTransaction;
|
||||
import li.strolch.policy.StrolchPolicy;
|
||||
|
||||
/**
|
||||
* @author Robert von Burg <eitch@eitchnet.ch>
|
||||
*/
|
||||
public class TestSimulatedExecutionPolicy extends StrolchPolicy implements TestExecutionPolicy {
|
||||
public class TestSimulatedExecutionPolicy extends TestExecutionPolicy {
|
||||
|
||||
public TestSimulatedExecutionPolicy(ComponentContainer container, StrolchTransaction tx) {
|
||||
super(container, tx);
|
||||
|
@ -34,4 +33,9 @@ public class TestSimulatedExecutionPolicy extends StrolchPolicy implements TestE
|
|||
public void execute(Action action) {
|
||||
action.setState(State.EXECUTION);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void undo() {
|
||||
// do nothing
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue