jafea7-ctbrec-v5.3.2-based/common/src/main/java/ctbrec/event/ModelStatePredicate.java

33 lines
850 B
Java

package ctbrec.event;
import ctbrec.Model;
import ctbrec.Model.State;
import ctbrec.event.EventHandlerConfiguration.PredicateConfiguration;
public class ModelStatePredicate extends EventPredicate {
private Model.State state;
public ModelStatePredicate() {}
public ModelStatePredicate(Model.State state) {
this.state = state;
}
@Override
public boolean test(Event evt) {
if(evt instanceof ModelStateChangedEvent) {
ModelStateChangedEvent modelEvent = (ModelStateChangedEvent) evt;
Model.State newState = modelEvent.getNewState();
return newState == state;
} else {
return false;
}
}
@Override
public void configure(PredicateConfiguration pc) {
state = State.valueOf((String) pc.getConfiguration().get("state"));
}
}