Sha256: eb4d8da353ddf9726e2bb7b202e567cb323191410ee48182558eaa161fa2c25d

Contents?: true

Size: 1.32 KB

Versions: 24

Compression:

Stored size: 1.32 KB

Contents

package org.embulk.cli.parse;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import org.apache.commons.cli.Option;
import org.apache.commons.cli.Options;

/**
 * CliOptionsWithHelpMessages is an extension of commons-cli's org.apache.commons.cli.Options.
 *
 * It just recognizes {@code HelpMessageAsCliOption} while others are same with {@code org.apache.commons.cli.Options}.
 * {@code HelpMessageAsCliOption} is added just as a help message line, but ignored as a command line option.
 *
 * It is visible only in |org.embulk.cli.parse| because it is an extension of a commons-cli class.
 * Dependencies on third-party libraries are to be encapsulated.
 */
final class CliOptionsWithHelpMessages
        extends Options
{
    CliOptionsWithHelpMessages()
    {
        this.allOptions = new ArrayList<Option>();
    }

    /**
     * Adds commons-cli's {@code org.apache.commons.cli.Option}.
     */
    @Override
    public final Options addOption(final Option option)
    {
        this.allOptions.add(option);
        if (option instanceof HelpMessageAsCliOption) {
            return this;
        }
        return super.addOption(option);
    }

    final List<Option> getAllOptions()
    {
        return Collections.unmodifiableList(this.allOptions);
    }

    private final ArrayList<Option> allOptions;
}

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
embulk-0.8.39 embulk-cli/src/main/java/org/embulk/cli/parse/CliOptionsWithHelpMessages.java
embulk-0.8.39-java embulk-cli/src/main/java/org/embulk/cli/parse/CliOptionsWithHelpMessages.java
embulk-0.8.38 embulk-cli/src/main/java/org/embulk/cli/parse/CliOptionsWithHelpMessages.java
embulk-0.8.38-java embulk-cli/src/main/java/org/embulk/cli/parse/CliOptionsWithHelpMessages.java
embulk-0.8.37 embulk-cli/src/main/java/org/embulk/cli/parse/CliOptionsWithHelpMessages.java
embulk-0.8.37-java embulk-cli/src/main/java/org/embulk/cli/parse/CliOptionsWithHelpMessages.java
embulk-0.8.36 embulk-cli/src/main/java/org/embulk/cli/parse/CliOptionsWithHelpMessages.java
embulk-0.8.36-java embulk-cli/src/main/java/org/embulk/cli/parse/CliOptionsWithHelpMessages.java
embulk-0.8.35 embulk-cli/src/main/java/org/embulk/cli/parse/CliOptionsWithHelpMessages.java
embulk-0.8.35-java embulk-cli/src/main/java/org/embulk/cli/parse/CliOptionsWithHelpMessages.java
embulk-0.8.34 embulk-cli/src/main/java/org/embulk/cli/parse/CliOptionsWithHelpMessages.java
embulk-0.8.34-java embulk-cli/src/main/java/org/embulk/cli/parse/CliOptionsWithHelpMessages.java
embulk-0.8.33 embulk-cli/src/main/java/org/embulk/cli/parse/CliOptionsWithHelpMessages.java
embulk-0.8.33-java embulk-cli/src/main/java/org/embulk/cli/parse/CliOptionsWithHelpMessages.java
embulk-0.8.32 embulk-cli/src/main/java/org/embulk/cli/parse/CliOptionsWithHelpMessages.java
embulk-0.8.32-java embulk-cli/src/main/java/org/embulk/cli/parse/CliOptionsWithHelpMessages.java
embulk-0.8.31 embulk-cli/src/main/java/org/embulk/cli/parse/CliOptionsWithHelpMessages.java
embulk-0.8.31-java embulk-cli/src/main/java/org/embulk/cli/parse/CliOptionsWithHelpMessages.java
embulk-0.8.30 embulk-cli/src/main/java/org/embulk/cli/parse/CliOptionsWithHelpMessages.java
embulk-0.8.30-java embulk-cli/src/main/java/org/embulk/cli/parse/CliOptionsWithHelpMessages.java