private boolean isSelfIgnore(final StateTransition<T> edge) { return isEquivalentState(edge.getTargetState(), currentState) && edge.getAction() == StateTransitionAction.IGNORE; } }
if (transition.getAction() == StateTransitionAction.PROCEED) { if (transition.getTargetState().isFinal()) { return true;
private State<T> findFinalStateAfterProceed( ConditionContext context, State<T> state, T event) { final Stack<State<T>> statesToCheck = new Stack<>(); statesToCheck.push(state); try { while (!statesToCheck.isEmpty()) { final State<T> currentState = statesToCheck.pop(); for (StateTransition<T> transition : currentState.getStateTransitions()) { if (transition.getAction() == StateTransitionAction.PROCEED && checkFilterCondition(context, transition.getCondition(), event)) { if (transition.getTargetState().isFinal()) { return transition.getTargetState(); } else { statesToCheck.push(transition.getTargetState()); } } } } } catch (Exception e) { throw new FlinkRuntimeException("Failure happened in filter function.", e); } return null; }
if (checkFilterCondition(context, stateTransition.getCondition(), event)) { switch (stateTransition.getAction()) { case PROCEED:
private <T> Set<Tuple2<String, StateTransitionAction>> unfoldTransitions(final State<T> state) { final Set<Tuple2<String, StateTransitionAction>> transitions = new HashSet<>(); for (StateTransition<T> transition : state.getStateTransitions()) { transitions.add(Tuple2.of( transition.getTargetState().getName(), transition.getAction())); } return transitions; }
if (tStateTransition.getAction() == StateTransitionAction.PROCEED) { State<T> targetState = tStateTransition.getTargetState(); boolean remove = false; copyOfSink.addStateTransition(tStateTransition.getAction(), targetState, tStateTransition.getCondition()); tStateTransition.getAction(), tStateTransition.getTargetState().equals(tStateTransition.getSourceState()) ? copyOfSink
private State<T> copy(final State<T> state) { final State<T> copyOfState = createState( NFAStateNameHandler.getOriginalNameFromInternal(state.getName()), state.getStateType()); for (StateTransition<T> tStateTransition : state.getStateTransitions()) { copyOfState.addStateTransition( tStateTransition.getAction(), tStateTransition.getTargetState().equals(tStateTransition.getSourceState()) ? copyOfState : tStateTransition.getTargetState(), tStateTransition.getCondition()); } return copyOfState; }
switch (edge.getAction()) { case IGNORE: { if (!isStartState(computationState)) {
@Override public boolean apply(@Nullable StateTransition<T> input) { return input != null && input.getAction() == StateTransitionAction.TAKE; } }).getTargetState().getName();
@Override public boolean apply(@Nullable StateTransition<T> input) { return input != null && input.getAction() == StateTransitionAction.TAKE; }
@Override public boolean apply(@Nullable StateTransition<T> input) { return input != null && input.getAction() == StateTransitionAction.IGNORE; }
@Override public boolean apply(@Nullable StateTransition<T> input) { return input != null && input.getAction() == StateTransitionAction.TAKE; }
private boolean isSelfIgnore(final StateTransition<T> edge) { return isEquivalentState(edge.getTargetState(), currentState) && edge.getAction() == StateTransitionAction.IGNORE; } }
private boolean isSelfIgnore(final StateTransition<T> edge) { return isEquivalentState(edge.getTargetState(), currentState) && edge.getAction() == StateTransitionAction.IGNORE; } }
private boolean isSelfIgnore(final StateTransition<T> edge) { return isEquivalentState(edge.getTargetState(), currentState) && edge.getAction() == StateTransitionAction.IGNORE; } }
private State<T> copy(final State<T> state) { final State<T> copyOfState = createState( NFAStateNameHandler.getOriginalNameFromInternal(state.getName()), state.getStateType()); for (StateTransition<T> tStateTransition : state.getStateTransitions()) { copyOfState.addStateTransition( tStateTransition.getAction(), tStateTransition.getTargetState().equals(tStateTransition.getSourceState()) ? copyOfState : tStateTransition.getTargetState(), tStateTransition.getCondition()); } return copyOfState; }