All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.crabshue.commons.args.parser.TolerantGnuParser Maven / Gradle / Ivy

package com.crabshue.commons.args.parser;

import java.util.ListIterator;

import org.apache.commons.cli.GnuParser;
import org.apache.commons.cli.ParseException;

/**
 * {@link GnuParser} implementation that allows ignoring unknown options.
 *
 * @author vinh
 */
public class TolerantGnuParser extends GnuParser {

    private boolean ignoreUnrecognizedOption;

    public TolerantGnuParser(final boolean ignoreUnrecognizedOption) {
        this.ignoreUnrecognizedOption = ignoreUnrecognizedOption;
    }

    @Override
    protected void processOption(final String arg, final ListIterator iter) throws ParseException {
        boolean hasOption = getOptions().hasOption(arg);

        if (hasOption || !ignoreUnrecognizedOption) {
            super.processOption(arg, iter);
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy