@NotMutable @ThreadSafety(level=NOT_THREADSAFE) public final class InMemoryDirectoryServerTool extends CommandLineTool implements java.io.Serializable, LDAPListenerExceptionHandler
InMemoryDirectoryServer
class.
Constructor and Description |
---|
InMemoryDirectoryServerTool(java.io.OutputStream outStream,
java.io.OutputStream errStream)
Creates a new instance of this tool that use the provided output streams
for standard output and standard error.
|
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.
|
void |
connectionCreationFailure(java.net.Socket socket,
java.lang.Throwable cause)
Indicates that the specified connection is about to be terminated because
an unexpected error occurred during processing.
|
void |
connectionTerminated(LDAPListenerClientConnection connection,
LDAPException cause)
Indicates that the specified connection is about to be terminated because
an unexpected error occurred during processing.
|
boolean |
defaultsToInteractiveMode()
Indicates whether this tool defaults to launching in interactive mode if
the tool is invoked without any command-line arguments.
|
ResultCode |
doToolProcessing()
Performs the core set of processing for this tool.
|
InMemoryDirectoryServer |
getDirectoryServer()
Retrieves the in-memory directory server instance that has been created by
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.
|
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 the version string for this tool.
|
static void |
main(java.lang.String... args)
Parse the provided command line arguments and uses them to start the
directory server.
|
static ResultCode |
main(java.lang.String[] args,
java.io.OutputStream outStream,
java.io.OutputStream errStream)
Parse the provided command line arguments and uses them to start the
directory server.
|
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, doExtendedArgumentValidation, doShutdownHookProcessing, err, getAdditionalDescriptionParagraphs, getErr, getMaxTrailingArguments, getMinTrailingArguments, getOriginalErr, getOriginalOut, getOut, getPasswordFileReader, getToolCompletionMessage, getTrailingArgumentsPlaceholder, logToolInvocationByDefault, out, registerShutdownHook, requestToolArgumentsInteractively, runTool, supportsOutputFile, wrapErr, wrapOut
public InMemoryDirectoryServerTool(@Nullable java.io.OutputStream outStream, @Nullable java.io.OutputStream errStream)
outStream
- The output stream to use for standard output. It may be
System.out
for the JVM's default standard output
stream, null
if no output should be generated,
or a custom output stream if the output should be sent
to an alternate location.errStream
- The output stream to use for standard error. It may be
System.err
for the JVM's default standard error
stream, null
if no output should be generated,
or a custom output stream if the output should be sent
to an alternate location.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)
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.args
- The command line arguments provided to this program.@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.lang.String getToolVersion()
getToolVersion
in class CommandLineTool
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 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.@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 InMemoryDirectoryServer getDirectoryServer()
doToolProcessing()
method has been called.null
if the directory server instance has
not been successfully created.public void connectionCreationFailure(@Nullable java.net.Socket socket, @NotNull java.lang.Throwable cause)
connectionCreationFailure
in interface LDAPListenerExceptionHandler
socket
- The socket to be used for the failed connection. It may be
null
if the failure occurred while attempting to
accept the socket rather than attempting to create the
client connection from an accepted socket.cause
- An exception providing additional information about the
problem that occurred. It will not be null
.public void connectionTerminated(@NotNull LDAPListenerClientConnection connection, @NotNull LDAPException cause)
connectionTerminated
in interface LDAPListenerExceptionHandler
connection
- The connection that will be terminated. It will not be
null
.cause
- An exception providing additional information about the
reason for the termination. It will not be
null
.