package org.squirrelframework.foundation.fsm;
/**
* @author Henry.He
*/
public interface Visitor {
/**
* @param visitable the element to be visited.
*/
void visitOnEntry(StateMachine<?, ?, ?, ?> visitable);
/**
* @param visitable the element to be visited.
*/
void visitOnExit(StateMachine<?, ?, ?, ?> visitable);
/**
* @param visitable the element to be visited.
*/
void visitOnEntry(ImmutableState<?, ?, ?, ?> visitable);
/**
* @param visitable the element to be visited.
*/
void visitOnExit(ImmutableState<?, ?, ?, ?> visitable);
/**
* @param visitable the element to be visited.
*/
void visitOnEntry(ImmutableTransition<?, ?, ?, ?> visitable);
/**
* @param visitable the element to be visited.
*/
void visitOnExit(ImmutableTransition<?, ?, ?, ?> visitable);
}