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

org.openstreetmap.atlas.utilities.command.abstractcommand.AtlasShellToolsCommandTemplate Maven / Gradle / Ivy

There is a newer version: 7.0.8
Show newest version
package org.openstreetmap.atlas.utilities.command.abstractcommand;

import org.openstreetmap.atlas.utilities.command.subcommands.templates.ListOfNumbersTemplate;

/**
 * An {@link AtlasShellToolsCommandTemplate} provides an easy way for implementations of
 * {@link AbstractAtlasShellToolsCommand} to share options, arguments, man page sections, and common
 * functionality. For example, by using a template implementation, command authors will not need to
 * re-declare a common option (with the accompanying duplicated option parsing code) across many
 * different commands. See {@link ListOfNumbersTemplate} for an example implementation.
 *
 * @author lcram
 */
public interface AtlasShellToolsCommandTemplate
{
    /**
     * Register some manual page sections associated with this template.
     *
     * @param parentCommand
     *            the parent {@link AbstractAtlasShellToolsCommand} for this template
     */
    void registerManualPageSections(AbstractAtlasShellToolsCommand parentCommand);

    /**
     * Register some options and arguments associated with this template.
     *
     * @param parentCommand
     *            the parent {@link AbstractAtlasShellToolsCommand} for this template
     */
    void registerOptionsAndArguments(AbstractAtlasShellToolsCommand parentCommand);
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy