@ThreadSafety(level=NOT_THREADSAFE) public final class LDAPDiff extends MultiServerLDAPCommandLineTool
NOTE: This class, and other classes within the
com.unboundid.ldap.sdk.unboundidds
package structure, are only
supported for use against Ping Identity, UnboundID, and
Nokia/Alcatel-Lucent 8661 server products. These classes provide support
for proprietary functionality or for external specifications that are not
considered stable or mature enough to be guaranteed to work in an
interoperable way with other types of LDAP servers.
StreamDirectoryValuesExtendedRequest
,
then that operation will be used to retrieve the DNs. Otherwise, a
search will be used with the configured base DN, scope, and filter to
retrieve all matching entries (without any attributes).
Constructor and Description |
---|
LDAPDiff(java.io.OutputStream out,
java.io.OutputStream err)
Creates a new instance of this tool with the provided information.
|
Modifier and Type | Method and Description |
---|---|
void |
addNonLDAPArguments(ArgumentParser parser)
Adds the arguments needed by this command-line tool to the provided
argument parser which are not related to connecting or authenticating to
the directory server.
|
void |
doExtendedNonLDAPArgumentValidation()
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.
|
LDAPConnectionOptions |
getConnectionOptions()
Retrieves the connection options that should be used for connections that
are created with this command line 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.
|
int |
getMaxTrailingArguments()
Retrieves the maximum number of unnamed trailing arguments that may be
provided for this tool.
|
int |
getMinTrailingArguments()
Retrieves the minimum number of unnamed trailing arguments that must be
provided for this tool.
|
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.
|
java.lang.String |
getTrailingArgumentsPlaceholder()
Retrieves a placeholder string that should be used for trailing arguments
in the usage information for this tool.
|
protected boolean |
includeAlternateLongIdentifiers()
Indicates whether the LDAP-specific arguments should include alternate
versions of all long identifiers that consist of multiple words so that
they are available in both camelCase and dash-separated versions.
|
protected boolean |
logToolInvocationByDefault()
Indicates whether to log messages about the launch and completion of this
tool into the invocation log of Ping Identity server products that may
include it.
|
static ResultCode |
main(java.io.OutputStream out,
java.io.OutputStream err,
java.lang.String... args)
Invokes this tool using the provided set of command-line arguments.
|
static void |
main(java.lang.String... args)
Invokes this tool using the provided set of command-line arguments.
|
protected boolean |
supportsDebugLogging()
Indicates whether this tool supports the ability to generate a debug log
file.
|
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.
|
addToolArguments, createBindRequest, createServerSet, createSSLUtil, doExtendedArgumentValidation, getConnection, getConnectionPool, getUnauthenticatedConnection
addEnableSSLDebuggingArgument, createArgumentParser, defaultsToInteractiveMode, doShutdownHookProcessing, err, getErr, getOriginalErr, getOriginalOut, getOut, getPasswordFileReader, out, registerShutdownHook, requestToolArgumentsInteractively, runTool, supportsInteractiveMode, supportsOutputFile, wrapErr, wrapOut
public LDAPDiff(@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 command-line arguments provided to this program. It must
not be null
or empty.@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 command-line arguments provided to this program. It must
not be null
or empty.ResultCode.SUCCESS
indicates that all
processing completed successfully and no differences were
identified. A result code of ResultCode.COMPARE_FALSE
indicates that all processing completed successfully but that one
or more differences were identified between the source and target
servers. Any other result code indicates that an error occurred
during processing.@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.@NotNull public LDAPConnectionOptions getConnectionOptions()
getConnectionOptions
in class MultiServerLDAPCommandLineTool
public int getMinTrailingArguments()
CommandLineTool.getMaxTrailingArguments()
arguments to return nonzero values, and it must also override the
CommandLineTool.getTrailingArgumentsPlaceholder()
method to return a
non-null
value.getMinTrailingArguments
in class CommandLineTool
public int getMaxTrailingArguments()
CommandLineTool.getTrailingArgumentsPlaceholder()
method to
return a non-null
value.getMaxTrailingArguments
in class CommandLineTool
@NotNull public java.lang.String getTrailingArgumentsPlaceholder()
getTrailingArgumentsPlaceholder
in class CommandLineTool
null
if trailing
arguments are not supported.protected boolean includeAlternateLongIdentifiers()
includeAlternateLongIdentifiers
in class MultiServerLDAPCommandLineTool
true
if this tool should provide multiple versions of
long identifiers for LDAP-specific arguments, or false
if
not.public void addNonLDAPArguments(@NotNull ArgumentParser parser) throws ArgumentException
addNonLDAPArguments
in class MultiServerLDAPCommandLineTool
parser
- The argument parser to which the arguments should be added.ArgumentException
- If a problem occurs while adding the arguments.public void doExtendedNonLDAPArgumentValidation() throws ArgumentException
CommandLineTool.doToolProcessing()
method is invoked.doExtendedNonLDAPArgumentValidation
in class MultiServerLDAPCommandLineTool
ArgumentException
- If there was a problem with the command-line
arguments provided to this program.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.protected boolean logToolInvocationByDefault()
true
for tools that may alter
the server configuration, data, or other state information, and
false
for tools that do not make any changes.logToolInvocationByDefault
in class CommandLineTool
true
if Ping Identity server products should include
messages about the launch and completion of this tool in tool
invocation log files by default, or false
if not.@Nullable protected java.lang.String getToolCompletionMessage()
getToolCompletionMessage
in class CommandLineTool
null
if no
completion message is available.@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.