package org.squirrelframework.foundation.fsm.impl;
import org.squirrelframework.foundation.fsm.Action;
import org.squirrelframework.foundation.fsm.StateMachine;
import java.util.List;
public class DeferBoundActionInfo<T extends StateMachine<T, S, E, C>, S, E, C> {
private List<? extends Action<T, S, E, C>> actions;
private S from;
private S to;
private E event;
DeferBoundActionInfo(S from, S to, E event) {
this.from = from;
this.to = to;
this.event = event;
}
public boolean isFromStateMatch(S from) {
return this.from==null || this.from.equals(from);
}
public boolean isToStateMatch(S to) {
return this.to==null || this.to.equals(to);
}
public boolean isEventStateMatch(E event) {
return this.event==null || this.event.equals(event);
}
public List<? extends Action<T, S, E, C>> getActions() {
return actions;
}
public void setActions(List<? extends Action<T, S, E, C>> actions) {
this.actions = actions;
}
}