001// License: GPL. For details, see LICENSE file. 002package org.openstreetmap.josm.cli; 003 004/** 005 * A command line interface module. 006 * <p> 007 * The user can provide an action keyword as first argument. This will invoke the 008 * corresponding {@code CLIModule}, which has its own set of options and will do 009 * a specific job. 010 * @since 12793 011 */ 012public interface CLIModule { 013 014 /** 015 * Get the action keyword that the user needs to provide as first command 016 * line argument to invoke this module. 017 * @return the action keyword of this module 018 */ 019 String getActionKeyword(); 020 021 /** 022 * Process the remaining command line arguments and run any of the requested actions. 023 * @param argArray command line arguments without the initial action keyword 024 */ 025 void processArguments(String[] argArray); 026}