private boolean isOptionAKey(final String candidate) { return candidate != null && candidate.startsWith("-") && Arrays.asList(OPTION_KEYS).contains(normalizeOptionKey(candidate)); }
private void addToOptions(final String optionValue) { current.putProperty(normalizeOptionKey(previousOption), optionValue); }
private void finishSymbols() { handleOptionAsValue(null); }
private void finishSymbols() { handleOptionAsValue(null); }
private void addToOptions(final String optionValue) { current.putProperty(normalizeOptionKey(previousOption), optionValue); }
private void handleOptionAsValue(final String option) { if (isOptionAKey(previousOption)) { addToOptions(option); } previousOption = null; }
void parse() { for (final Symbol option : body.getChildren()) { handleSymbol(option); } finishSymbols(); }
private void handleOptionAsKeyCandidate(final String option) { if (isOptionAKey(previousOption)) { addToOptions(null); } previousOption = option; }
private void handleSymbol(final Symbol option) { if (!option.isType(SymbolType.Whitespace)) { handleNonWhitespace(option); } }
private boolean isOptionAKey(final String candidate) { return candidate != null && candidate.startsWith("-") && Arrays.asList(OPTION_KEYS).contains(normalizeOptionKey(candidate)); }
private void handleNonWhitespace(final Symbol symbol) { String option = symbol.getContent(); if (isOptionAKey(option)) { handleOptionAsKeyCandidate(option); } else { handleOptionAsValue(option); } }
void parse() { for (final Symbol option : body.getChildren()) { handleSymbol(option); } finishSymbols(); }
@Override public Maybe<Symbol> parse(Symbol current, Parser parser) { final Symbol body = parser.parseToEnd(SymbolType.Newline); new OptionParser(current, body).parse(); current.add(body); return new Maybe<>(current); }
private void handleSymbol(final Symbol option) { if (!option.isType(SymbolType.Whitespace)) { handleNonWhitespace(option); } }
private void handleOptionAsKeyCandidate(final String option) { if (isOptionAKey(previousOption)) { addToOptions(null); } previousOption = option; }
@Override public Maybe<Symbol> parse(Symbol current, Parser parser) { final Symbol body = parser.parseToEnd(SymbolType.Newline); new OptionParser(current, body).parse(); current.add(body); return new Maybe<>(current); }
private void handleOptionAsValue(final String option) { if (isOptionAKey(previousOption)) { addToOptions(option); } previousOption = null; }
private void handleNonWhitespace(final Symbol symbol) { String option = symbol.getContent(); if (isOptionAKey(option)) { handleOptionAsKeyCandidate(option); } else { handleOptionAsValue(option); } }