private State<T> createTimesState(final State<T> sinkState, final State<T> proceedState, Times times) { State<T> lastSink = sinkState; setCurrentGroupPatternFirstOfLoop(false); final IterativeCondition<T> untilCondition = (IterativeCondition<T>) currentPattern.getUntilCondition(); final IterativeCondition<T> innerIgnoreCondition = extendWithUntilCondition( setCurrentGroupPatternFirstOfLoop(true); return createSingletonState( lastSink,
private State<T> createTimesState(final State<T> sinkState, final State<T> proceedState, Times times) { State<T> lastSink = sinkState; setCurrentGroupPatternFirstOfLoop(false); final IterativeCondition<T> untilCondition = (IterativeCondition<T>) currentPattern.getUntilCondition(); final IterativeCondition<T> innerIgnoreCondition = extendWithUntilCondition( setCurrentGroupPatternFirstOfLoop(true); return createSingletonState( lastSink,
private State<T> createTimesState(final State<T> sinkState, final State<T> proceedState, Times times) { State<T> lastSink = sinkState; setCurrentGroupPatternFirstOfLoop(false); final IterativeCondition<T> untilCondition = (IterativeCondition<T>) currentPattern.getUntilCondition(); final IterativeCondition<T> innerIgnoreCondition = extendWithUntilCondition( setCurrentGroupPatternFirstOfLoop(true); return createSingletonState( lastSink,
private State<T> convertPattern(final State<T> sinkState) { final State<T> lastSink; final Quantifier quantifier = currentPattern.getQuantifier(); if (quantifier.hasProperty(Quantifier.QuantifierProperty.LOOPING)) { // if loop has started then all notPatterns previous to the optional states are no longer valid setCurrentGroupPatternFirstOfLoop(false); final State<T> sink = copyWithoutTransitiveNots(sinkState); final State<T> looping = createLooping(sink); setCurrentGroupPatternFirstOfLoop(true); lastSink = createTimesState(looping, sinkState, currentPattern.getTimes()); } else if (quantifier.hasProperty(Quantifier.QuantifierProperty.TIMES)) { lastSink = createTimesState(sinkState, sinkState, currentPattern.getTimes()); } else { lastSink = createSingletonState(sinkState); } addStopStates(lastSink); return lastSink; }
private State<T> convertPattern(final State<T> sinkState) { final State<T> lastSink; final Quantifier quantifier = currentPattern.getQuantifier(); if (quantifier.hasProperty(Quantifier.QuantifierProperty.LOOPING)) { // if loop has started then all notPatterns previous to the optional states are no longer valid setCurrentGroupPatternFirstOfLoop(false); final State<T> sink = copyWithoutTransitiveNots(sinkState); final State<T> looping = createLooping(sink); setCurrentGroupPatternFirstOfLoop(true); lastSink = createTimesState(looping, sinkState, currentPattern.getTimes()); } else if (quantifier.hasProperty(Quantifier.QuantifierProperty.TIMES)) { lastSink = createTimesState(sinkState, sinkState, currentPattern.getTimes()); } else { lastSink = createSingletonState(sinkState); } addStopStates(lastSink); return lastSink; }
private State<T> convertPattern(final State<T> sinkState) { final State<T> lastSink; final Quantifier quantifier = currentPattern.getQuantifier(); if (quantifier.hasProperty(Quantifier.QuantifierProperty.LOOPING)) { // if loop has started then all notPatterns previous to the optional states are no longer valid setCurrentGroupPatternFirstOfLoop(false); final State<T> sink = copyWithoutTransitiveNots(sinkState); final State<T> looping = createLooping(sink); setCurrentGroupPatternFirstOfLoop(true); lastSink = createTimesState(looping, sinkState, currentPattern.getTimes()); } else if (quantifier.hasProperty(Quantifier.QuantifierProperty.TIMES)) { lastSink = createTimesState(sinkState, sinkState, currentPattern.getTimes()); } else { lastSink = createSingletonState(sinkState); } addStopStates(lastSink); return lastSink; }