package com.github.fge.grappa.matchers.repeat;
import com.github.fge.grappa.rules.Rule;
/**
* A repeat matcher which must match exactly a given number of times; no less,
* no more
*/
public final class ExactMatchesRepeatMatcher
extends RepeatMatcher
{
private final int nrCycles;
public ExactMatchesRepeatMatcher(final Rule subRule, final int nrCycles)
{
super(subRule);
this.nrCycles = nrCycles;
}
@Override
protected boolean enoughCycles(final int cycles)
{
return cycles == nrCycles;
}
@Override
protected boolean runAgain(final int cycles)
{
return cycles < nrCycles;
}
}