@ThreadSafety(level=NOT_THREADSAFE) public final class LDAPDebugger extends LDAPCommandLineTool implements java.io.Serializable
com.unboundid.util.args
package)com.unboundid.util
package)com.unboundid.ldap.listener
package)LDAPCommandLineTool
class, as well as the following additional
arguments:
Constructor and Description |
---|
LDAPDebugger(java.io.OutputStream outStream,
java.io.OutputStream errStream)
Creates a new instance of this tool.
|
Modifier and Type | Method and Description |
---|---|
void |
addNonLDAPArguments(ArgumentParser parser)
Adds the arguments used by this program that aren't already provided by the
generic
LDAPCommandLineTool framework. |
boolean |
defaultsToInteractiveMode()
Indicates whether this tool defaults to launching in interactive mode if
the tool is invoked without any command-line arguments.
|
protected boolean |
defaultToPromptForBindPassword()
Indicates whether this tool should default to interactively prompting for
the bind password if a password is required but no argument was provided
to indicate how to get the password.
|
ResultCode |
doToolProcessing()
Performs the actual processing 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.
|
LDAPListener |
getListener()
Retrieves the LDAP listener used to decode the communication.
|
java.lang.String |
getToolDescription()
Retrieves the description for this tool.
|
java.lang.String |
getToolName()
Retrieves the name for this tool.
|
java.lang.String |
getToolVersion()
Retrieves the version string 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.
|
static void |
main(java.lang.String[] args)
Parse the provided command line arguments and make the appropriate set of
changes.
|
static ResultCode |
main(java.lang.String[] args,
java.io.OutputStream outStream,
java.io.OutputStream errStream)
Parse the provided command line arguments and make the appropriate set of
changes.
|
void |
shutDown()
Indicates that the associated listener should shut down.
|
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.
|
protected boolean |
supportsSSLDebugging()
Indicates whether this tool should provide a command-line argument that
allows for low-level SSL debugging.
|
addToolArguments, anyLDAPArgumentsProvided, createBindRequest, createServerSet, createSSLUtil, createSSLUtil, doExtendedArgumentValidation, doExtendedNonLDAPArgumentValidation, getBindControls, getConnection, getConnectionOptions, getConnectionOptionsWithRequestedSettings, getConnectionPool, getConnectionPool, getSuppressedShortIdentifiers, getUnauthenticatedConnection, supportsAuthentication, supportsMultipleServers, supportsSASLHelp
addEnableSSLDebuggingArgument, createArgumentParser, doShutdownHookProcessing, err, getAdditionalDescriptionParagraphs, getErr, getMaxTrailingArguments, getMinTrailingArguments, getOriginalErr, getOriginalOut, getOut, getPasswordFileReader, getToolCompletionMessage, getTrailingArgumentsPlaceholder, logToolInvocationByDefault, out, registerShutdownHook, requestToolArgumentsInteractively, runTool, supportsOutputFile, wrapErr, wrapOut
public LDAPDebugger(@Nullable java.io.OutputStream outStream, @Nullable java.io.OutputStream errStream)
outStream
- The output stream to which standard out should be
written. It may be null
if output should be
suppressed.errStream
- The output stream to which standard error should be
written. It may be null
if error messages
should be suppressed.public static void main(@NotNull java.lang.String[] args)
args
- The command line arguments provided to this program.@NotNull public static ResultCode main(@NotNull java.lang.String[] args, @Nullable java.io.OutputStream outStream, @Nullable java.io.OutputStream errStream)
args
- The command line arguments provided to this program.outStream
- The output stream to which standard out should be
written. It may be null
if output should be
suppressed.errStream
- The output stream to which standard error should be
written. It may be null
if error messages
should be suppressed.@NotNull public java.lang.String getToolName()
getToolName
in class CommandLineTool
@NotNull public java.lang.String getToolDescription()
getToolDescription
in class CommandLineTool
@NotNull public java.lang.String getToolVersion()
getToolVersion
in class CommandLineTool
public boolean supportsInteractiveMode()
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()
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.protected boolean defaultToPromptForBindPassword()
defaultToPromptForBindPassword
in class LDAPCommandLineTool
true
if this tool should default to interactively
prompting for the bind password, 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.protected boolean includeAlternateLongIdentifiers()
includeAlternateLongIdentifiers
in class LDAPCommandLineTool
true
if this tool should provide multiple versions of
long identifiers for LDAP-specific arguments, or false
if
not.protected boolean supportsSSLDebugging()
true
, then an
"--enableSSLDebugging}" argument will be added that sets the
"javax.net.debug" system property to "all" before attempting any
communication.supportsSSLDebugging
in class LDAPCommandLineTool
true
if this tool should offer an "--enableSSLDebugging"
argument, or false
if not.public void addNonLDAPArguments(@NotNull ArgumentParser parser) throws ArgumentException
LDAPCommandLineTool
framework.addNonLDAPArguments
in class LDAPCommandLineTool
parser
- The argument parser to which the arguments should be added.ArgumentException
- If a problem occurs while adding the arguments.@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.@Nullable public LDAPListener getListener()
null
if the tool is not running.public void shutDown()