@Override public Maybe<Integer> match(ScanString input, SymbolStream symbols, int offset) { int size = 0; while (input.charAt(offset + size) == delimiter) size++; return size > 0 ? new Maybe<>(size) : Maybe.noInteger; } });
public SymbolMatch findMatch(final ScanString input, final int startPosition, final SymbolStream symbols) { return provider.findMatch(input.charAt(0), new SymbolMatcher() { @Override public SymbolMatch makeMatch(Matchable candidate) { if (input.getOffset() != startPosition || !ignores(candidate)) { SymbolMatch match = candidate.makeMatch(input, symbols); if (match.isMatch()) return match; } return SymbolMatch.noMatch; } }); }
@Override public Maybe<Integer> match(ScanString input, SymbolStream symbols, int offset) { int size = 0; while (input.charAt(offset + size) == delimiter) size++; return size > 0 ? new Maybe<>(size) : Maybe.noInteger; } });
public SymbolMatch findMatch(final ScanString input, final int startPosition, final SymbolStream symbols) { return provider.findMatch(input.charAt(0), new SymbolMatcher() { @Override public SymbolMatch makeMatch(Matchable candidate) { if (input.getOffset() != startPosition || !ignores(candidate)) { SymbolMatch match = candidate.makeMatch(input, symbols); if (match.isMatch()) return match; } return SymbolMatch.noMatch; } }); }
@Override public Maybe<Integer> match(ScanString input, SymbolStream symbols, int offset) { int size = 0; while (true) { char candidate = input.charAt(offset + size); if (candidate == 0) return Maybe.noInteger; if (contains(terminators, candidate)) break; size++; } return size > 0 ? new Maybe<>(size + 1) : Maybe.noInteger; }
@Override public Maybe<Integer> match(ScanString input, SymbolStream symbols, int offset) { int size = 0; while (true) { char candidate = input.charAt(offset + size); if (candidate == 0) return Maybe.noInteger; if (contains(terminators, candidate)) break; size++; } return size > 0 ? new Maybe<>(size + 1) : Maybe.noInteger; }