Package picocli
Class CommandLine.AbstractHandler<R,T extends CommandLine.AbstractHandler<R,T>>
- java.lang.Object
-
- picocli.CommandLine.AbstractHandler<R,T>
-
- Type Parameters:
R- the return type of this handlerT- The type of the handler subclass; for fluent API method chaining
- Direct Known Subclasses:
CommandLine.AbstractParseResultHandler,CommandLine.DefaultExceptionHandler
- Enclosing class:
- CommandLine
public abstract static class CommandLine.AbstractHandler<R,T extends CommandLine.AbstractHandler<R,T>> extends Object
Abstract superclass forCommandLine.IParseResultHandler2andCommandLine.IExceptionHandler2implementations.Note that
AbstractHandleris a generic type. This, along with the abstractselfmethod, 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 Summary
Constructors Constructor Description AbstractHandler()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description TandExit(int exitCode)Indicates that the handler should callSystem.exit(int)after processing completes and sets the exit code to use as the termination status.CommandLine.Help.Ansiansi()Returns the ANSI style to use.PrintStreamerr()Returns the stream to print diagnostic messages to.protected voidexit(int exitCode)CallsSystem.exit(int)with the specified exit code.IntegerexitCode()Returns the exit code to use as the termination status, ornull(the default) if the handler should not callSystem.exit(int)after processing completes.booleanhasExitCode()Returnstrueif an exit code was set withandExit(int), orfalse(the default) if the handler should not callSystem.exit(int)after processing completes.PrintStreamout()Returns the stream to print command output to.protected RreturnResultOrExit(R result)Convenience method for subclasses that returns the specified result object if no exit code was set, or otherwise, if an exit code was set, callsSystem.exitwith the configured exit code to terminate the currently running Java virtual machine.protected abstract Tself()Returnsthisto allow method chaining when calling the setters for a fluent API.protected RthrowOrExit(CommandLine.ExecutionException ex)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 callsSystem.exitwith the configured exit code to terminate the currently running Java virtual machine.TuseAnsi(CommandLine.Help.Ansi ansi)Sets the ANSI style to use.TuseErr(PrintStream err)Sets the stream to print diagnostic messages to.TuseOut(PrintStream out)Sets the stream to print command output to.
-
-
-
Method Detail
-
out
public PrintStream out()
Returns the stream to print command output to. Defaults toSystem.out, unlessuseOut(PrintStream)was called with a different stream.IParseResultHandler2implementations should use this stream. By convention, when the user requests help with a--helpor 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()
Returns the stream to print diagnostic messages to. Defaults toSystem.err, unlessuseErr(PrintStream)was called with a different stream.IExceptionHandler2implementations should use this stream to print error messages (which may include a usage help message) when an unexpected error occurs.
-
ansi
public CommandLine.Help.Ansi ansi()
Returns the ANSI style to use. Defaults toHelp.Ansi.AUTO, unlessuseAnsi(CommandLine.Help.Ansi)was called with a different setting.
-
exitCode
public Integer exitCode()
Returns the exit code to use as the termination status, ornull(the default) if the handler should not callSystem.exit(int)after processing completes.- See Also:
andExit(int)
-
hasExitCode
public boolean hasExitCode()
Returnstrueif an exit code was set withandExit(int), orfalse(the default) if the handler should not callSystem.exit(int)after processing completes.
-
returnResultOrExit
protected R returnResultOrExit(R result)
Convenience method for subclasses that returns the specified result object if no exit code was set, or otherwise, if an exit code was set, callsSystem.exitwith the configured exit code to terminate the currently running Java virtual machine.
-
throwOrExit
protected R throwOrExit(CommandLine.ExecutionException ex)
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 callsSystem.exitwith the configured exit code to terminate the currently running Java virtual machine.
-
exit
protected void exit(int exitCode)
CallsSystem.exit(int)with the specified exit code.
-
self
protected abstract T self()
Returnsthisto allow method chaining when calling the setters for a fluent API.
-
useOut
public T useOut(PrintStream out)
Sets the stream to print command output to. For use byIParseResultHandler2implementations.- See Also:
out()
-
useErr
public T useErr(PrintStream err)
Sets the stream to print diagnostic messages to. For use byIExceptionHandler2implementations.- See Also:
err()
-
useAnsi
public T useAnsi(CommandLine.Help.Ansi ansi)
Sets the ANSI style to use.- See Also:
ansi()
-
andExit
public T andExit(int exitCode)
Indicates that the handler should callSystem.exit(int)after processing completes and sets the exit code to use as the termination status.
-
-