Module info.picocli
Package picocli

Class CommandLine.AbstractHandler<R,​T extends CommandLine.AbstractHandler<R,​T>>

  • Type Parameters:
    R - the return type of this handler
    T - The type of the handler subclass; for fluent API method chaining
    Direct Known Subclasses:
    CommandLine.AbstractParseResultHandler, CommandLine.DefaultExceptionHandler
    Enclosing class:
    CommandLine

    @Deprecated
    public abstract static class CommandLine.AbstractHandler<R,​T extends CommandLine.AbstractHandler<R,​T>>
    extends Object
    Abstract superclass for CommandLine.IParseResultHandler2 and CommandLine.IExceptionHandler2 implementations.

    Note that AbstractHandler is a generic type. This, along with the abstract self method, allows method chaining to work properly in subclasses, without the need for casts. An example subclass can look like this:

    
     class MyResultHandler extends AbstractHandler<MyReturnType, MyResultHandler> implements IParseResultHandler2<MyReturnType> {
    
         public MyReturnType handleParseResult(ParseResult parseResult) { ... }
    
         protected MyResultHandler self() { return this; }
     }
     
    Since:
    3.0
    • Constructor Detail

      • AbstractHandler

        public AbstractHandler()
        Deprecated.
    • Method Detail

      • out

        public PrintStream out()
        Deprecated.
        Returns the stream to print command output to. Defaults to System.out, unless useOut(PrintStream) was called with a different stream.

        IParseResultHandler2 implementations should use this stream. By convention, when the user requests help with a --help or similar option, the usage help message is printed to the standard output stream so that it can be easily searched and paged.

      • err

        public PrintStream err()
        Deprecated.
        Returns the stream to print diagnostic messages to. Defaults to System.err, unless useErr(PrintStream) was called with a different stream.

        IExceptionHandler2 implementations should use this stream to print error messages (which may include a usage help message) when an unexpected error occurs.

      • colorScheme

        public CommandLine.Help.ColorScheme colorScheme()
        Deprecated.
        Returns the ColorScheme to use. Defaults to Help#defaultColorScheme(Help.Ansi.AUTO).
        Since:
        4.0
      • exitCode

        public Integer exitCode()
        Deprecated.
        Returns the exit code to use as the termination status, or null (the default) if the handler should not call System.exit(int) after processing completes.
        See Also:
        andExit(int)
      • hasExitCode

        public boolean hasExitCode()
        Deprecated.
        Returns true if an exit code was set with andExit(int), or false (the default) if the handler should not call System.exit(int) after processing completes.
      • returnResultOrExit

        protected R returnResultOrExit​(R result)
        Deprecated.
        Convenience method for subclasses that returns the specified result object if no exit code was set, or otherwise, if an exit code was set, calls System.exit with the configured exit code to terminate the currently running Java virtual machine.
      • throwOrExit

        protected R throwOrExit​(CommandLine.ExecutionException ex)
        Deprecated.
        Convenience method for subclasses that throws the specified ExecutionException if no exit code was set, or otherwise, if an exit code was set, prints the stacktrace of the specified exception to the diagnostic error stream and calls System.exit with the configured exit code to terminate the currently running Java virtual machine.
      • exit

        protected void exit​(int exitCode)
        Deprecated.
        Calls System.exit(int) with the specified exit code.
      • self

        protected abstract T self()
        Deprecated.
        Returns this to allow method chaining when calling the setters for a fluent API.
      • andExit

        @Deprecated
        public T andExit​(int exitCode)
        Deprecated.
        use CommandLine.execute(String...) instead, and call System.exit() in the application.
        Indicates that the handler should call System.exit(int) after processing completes and sets the exit code to use as the termination status.