@ThreadSafety(level=NOT_THREADSAFE) public final class LDIFDiff extends CommandLineTool
Constructor and Description |
---|
LDIFDiff(java.io.OutputStream out,
java.io.OutputStream err)
Creates a new instance of this tool with the provided output and error
streams.
|
Modifier and Type | Method and Description |
---|---|
void |
addToolArguments(ArgumentParser parser)
Adds the command-line arguments supported for use with this tool to the
provided argument parser.
|
boolean |
defaultsToInteractiveMode()
Indicates whether this tool defaults to launching in interactive mode if
the tool is invoked without any command-line arguments.
|
void |
doExtendedArgumentValidation()
Performs any necessary processing that should be done to ensure that the
provided set of command-line arguments were valid.
|
ResultCode |
doToolProcessing()
Performs the core set of processing for this tool.
|
java.util.List<java.lang.String> |
getAdditionalDescriptionParagraphs()
Retrieves additional paragraphs that should be included in the description
for this tool.
|
java.util.LinkedHashMap<java.lang.String[],java.lang.String> |
getExampleUsages()
Retrieves a set of information that may be used to generate example usage
information.
|
protected java.lang.String |
getToolCompletionMessage()
Retrieves an optional message that may provide additional information about
the way that the tool completed its processing.
|
java.lang.String |
getToolDescription()
Retrieves a human-readable description for this tool.
|
java.lang.String |
getToolName()
Retrieves the name of this tool.
|
java.lang.String |
getToolVersion()
Retrieves a version string for this tool, if available.
|
static ResultCode |
main(java.io.OutputStream out,
java.io.OutputStream err,
java.lang.String... args)
Invokes this tool with the provided set of command-line arguments, using
the given output and error streams.
|
static void |
main(java.lang.String... args)
Invokes this tool with the provided set of command-line arguments.
|
protected boolean |
supportsDebugLogging()
Indicates whether this tool supports the ability to generate a debug log
file.
|
boolean |
supportsInteractiveMode()
Indicates whether this tool should provide support for an interactive mode,
in which the tool offers a mode in which the arguments can be provided in
a text-driven menu rather than requiring them to be given on the command
line.
|
boolean |
supportsPropertiesFile()
Indicates whether this tool supports the use of a properties file for
specifying default values for arguments that aren't specified on the
command line.
|
addEnableSSLDebuggingArgument, createArgumentParser, doShutdownHookProcessing, err, getErr, getMaxTrailingArguments, getMinTrailingArguments, getOriginalErr, getOriginalOut, getOut, getPasswordFileReader, getTrailingArgumentsPlaceholder, logToolInvocationByDefault, out, registerShutdownHook, requestToolArgumentsInteractively, runTool, supportsOutputFile, wrapErr, wrapOut
public LDIFDiff(@Nullable java.io.OutputStream out, @Nullable java.io.OutputStream err)
out
- The output stream to use for standard output. It may be
null
if standard output should be suppressed.err
- The output stream to use for standard error. It may be
null
if standard error should be suppressed.public static void main(@NotNull java.lang.String... args)
args
- The set of arguments provided to this tool. It may be
empty but must not be null
.@NotNull public static ResultCode main(@Nullable java.io.OutputStream out, @Nullable java.io.OutputStream err, @NotNull java.lang.String... args)
out
- The output stream to use for standard output. It may be
null
if standard output should be suppressed.err
- The output stream to use for standard error. It may be
null
if standard error should be suppressed.args
- The set of arguments provided to this tool. It may be
empty but must not be null
.ResultCode.SUCCESS
should be considered
an error.@NotNull public java.lang.String getToolName()
getToolName
in class CommandLineTool
@NotNull public java.lang.String getToolDescription()
CommandLineTool.getAdditionalDescriptionParagraphs()
method should be used to
return the text for the subsequent paragraphs.getToolDescription
in class CommandLineTool
@NotNull public java.util.List<java.lang.String> getAdditionalDescriptionParagraphs()
CommandLineTool.getToolDescription()
method should return the text of the
first paragraph, and each item in the list returned by this method should
be the text for each subsequent paragraph. If the tool description should
only have a single paragraph, then this method may return null
or
an empty list.getAdditionalDescriptionParagraphs
in class CommandLineTool
null
or an empty list if only a single
description paragraph (whose text is returned by the
getToolDescription
method) is needed.@NotNull public java.lang.String getToolVersion()
getToolVersion
in class CommandLineTool
null
if none is
available.public boolean supportsInteractiveMode()
CommandLineTool.defaultsToInteractiveMode()
returns true
, then
interactive mode may be invoked by simply launching the tool without any
arguments.supportsInteractiveMode
in class CommandLineTool
true
if this tool supports interactive mode, or
false
if not.public boolean defaultsToInteractiveMode()
CommandLineTool.supportsInteractiveMode()
returns true
.defaultsToInteractiveMode
in class CommandLineTool
true
if this tool defaults to using interactive mode if
launched without any command-line arguments, or false
if
not.public boolean supportsPropertiesFile()
supportsPropertiesFile
in class CommandLineTool
true
if this tool supports the use of a properties file
for specifying default values for arguments that aren't specified
on the command line, or false
if not.protected boolean supportsDebugLogging()
true
, then the tool will expose
additional arguments that can control debug logging.supportsDebugLogging
in class CommandLineTool
true
if this tool supports the ability to generate a debug
log file, or false
if not.@Nullable protected java.lang.String getToolCompletionMessage()
getToolCompletionMessage
in class CommandLineTool
null
if no
completion message is available.public void addToolArguments(@NotNull ArgumentParser parser) throws ArgumentException
addToolArguments
in class CommandLineTool
parser
- The argument parser to which the arguments are to be added.ArgumentException
- If a problem occurs while adding any of the
tool-specific arguments to the provided
argument parser.public void doExtendedArgumentValidation() throws ArgumentException
CommandLineTool.doToolProcessing()
method is invoked.
Note that if the tool supports interactive mode, then this method may be
invoked multiple times to allow the user to interactively fix validation
errors.doExtendedArgumentValidation
in class CommandLineTool
ArgumentException
- If there was a problem with the command-line
arguments provided to this program.@NotNull public ResultCode doToolProcessing()
doToolProcessing
in class CommandLineTool
@NotNull public java.util.LinkedHashMap<java.lang.String[],java.lang.String> getExampleUsages()
getExampleUsages
in class CommandLineTool
null
or empty if no example usage
information is available.