package org.squirrelframework.foundation.fsm.impl;
import org.squirrelframework.foundation.fsm.Action;
import org.squirrelframework.foundation.fsm.StateMachine;
final class UncallableActionImpl<T extends StateMachine<T, S, E, C>, S, E, C> implements Action<T, S, E, C> {
private final Action<T, S, E, C> action;
UncallableActionImpl(Action<T, S, E, C> action) {
this.action = action;
}
@Override
public void execute(S from, S to, E event, C context, T stateMachine) {
throw new UnsupportedOperationException("Cannot invoke uncallable action.");
}
@Override
public String name() {
return action.name();
}
@Override
public int weight() {
return action.weight();
}
@Override
public final String toString() {
return action.toString();
}
@Override
public boolean isAsync() {
return action.isAsync();
}
@Override
public long timeout() {
return action.timeout();
}
}