picocli

## Class CommandLine.RunAll

- java.lang.Object
- - picocli.CommandLine.AbstractHandler<R,CommandLine.AbstractParseResultHandler<R>>
  - - picocli.CommandLine.AbstractParseResultHandler<List<Object>>
    - - picocli.CommandLine.RunAll

All Implemented Interfaces:
  CommandLine.IExecutionStrategy, CommandLine.IParseResultHandler, CommandLine.IParseResultHandler2<List<Object>>

Enclosing class:
  CommandLine

    public static class CommandLine.RunAll
    extends CommandLine.AbstractParseResultHandler<List<Object>>
    implements CommandLine.IParseResultHandler

Command line execution strategy that prints help if requested, and otherwise executes the top-level command and all subcommands as `Runnable`, `Callable` or `Method`. For use by the `execute` method.

Since:
  2.0

### Constructor Summary

Constructors
Constructor and Description
`RunAll()`

### Method Summary

All Methods Instance Methods Concrete Methods
`protected List<CommandLine.IExitCodeGenerator>` `extractExitCodeGenerators(CommandLine.ParseResult parseResult)`
`protected List<Object>` `handle(CommandLine.ParseResult parseResult)` Executes the top-level command and all subcommands as `Runnable` or `Callable`.
`List<Object>` `handleParseResult(List<CommandLine> parsedCommands, PrintStream out, CommandLine.Help.Ansi ansi)` Prints help if requested, and otherwise executes the top-level command and all subcommands as `Runnable`, `Callable` or `Method`.
`protected CommandLine.RunAll` `self()` Returns `this` to allow method chaining when calling the setters for a fluent API.

### Methods inherited from class picocli.CommandLine.AbstractParseResultHandler

`execute, handleParseResult`

### Methods inherited from class picocli.CommandLine.AbstractHandler

`andExit, ansi, colorScheme, err, exit, exitCode, hasExitCode, out, returnResultOrExit, throwOrExit, useAnsi, useErr, useOut`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### RunAll

    public RunAll()

### Method Detail

#### handleParseResult

    public List<Object> handleParseResult(List<CommandLine> parsedCommands,
                                          PrintStream out,
                                          CommandLine.Help.Ansi ansi)

Prints help if requested, and otherwise executes the top-level command and all subcommands as `Runnable`, `Callable` or `Method`. Finally, either a list of result objects is returned, or the JVM is terminated if an exit code was set. If any of the `CommandLine` commands does not implement either `Runnable` or `Callable`, an `ExecutionException` is thrown detailing the problem and capturing the offending `CommandLine` object.

Specified by:
  `handleParseResult` in interface `CommandLine.IParseResultHandler`
Parameters:
  `parsedCommands` - the `CommandLine` objects that resulted from successfully parsing the command line arguments
  `out` - the `PrintStream` to print help to if requested
  `ansi` - for printing help messages using ANSI styles and colors
Returns:
  an empty list if help was requested, or a list containing the result of executing all commands: the return values from calling the `Callable` commands, `null` elements for commands that implement `Runnable`
Throws:
  `CommandLine.ParameterException` - if the `HelpCommand` was invoked for an unknown subcommand. Any `ParameterExceptions` thrown from this method are treated as if this exception was thrown during parsing and passed to the `CommandLine.IExceptionHandler`
  `CommandLine.ExecutionException` - if a problem occurred while processing the parse results; use `CommandLine.ExecutionException.getCommandLine()` to get the command or subcommand where processing failed

#### handle

    protected List<Object> handle(CommandLine.ParseResult parseResult)
                           throws CommandLine.ExecutionException

Executes the top-level command and all subcommands as `Runnable` or `Callable`. If any of the `CommandLine` commands does not implement either `Runnable` or `Callable` and is not a `Method`, an `ExecutionException` is thrown detailing the problem and capturing the offending `CommandLine` object.

Specified by:
  `handle` in class `CommandLine.AbstractParseResultHandler<List<Object>>`
Parameters:
  `parseResult` - the `ParseResult` that resulted from successfully parsing the command line arguments
Returns:
  an empty list if help was requested, or a list containing the result of executing all commands: the return values from calling the `Callable` commands, `null` elements for commands that implement `Runnable`
Throws:
  `CommandLine.ExecutionException` - if a problem occurred while processing the parse results; use `CommandLine.ExecutionException.getCommandLine()` to get the command or subcommand where processing failed
Since:
  3.0

#### extractExitCodeGenerators

    protected List<CommandLine.IExitCodeGenerator> extractExitCodeGenerators(CommandLine.ParseResult parseResult)

Overrides:
  `extractExitCodeGenerators` in class `CommandLine.AbstractParseResultHandler<List<Object>>`

#### self

    protected CommandLine.RunAll self()

Description copied from class: `CommandLine.AbstractHandler`
Returns `this` to allow method chaining when calling the setters for a fluent API.

Specified by:
  `self` in class `CommandLine.AbstractHandler<List<Object>,CommandLine.AbstractParseResultHandler<List<Object>>>`