@ThreadSafety(level=NOT_THREADSAFE) public final class LDAPModify extends LDAPCommandLineTool implements UnsolicitedNotificationHandler
LDAPModify
tool
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.
Constructor and Description |
---|
LDAPModify(java.io.InputStream in,
java.io.OutputStream out,
java.io.OutputStream err)
Creates a new instance of this tool with the provided streams.
|
LDAPModify(java.io.OutputStream out,
java.io.OutputStream err)
Creates a new instance of this tool with the provided streams.
|
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.
|
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.
|
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.
|
protected java.util.List<Control> |
getBindControls()
Retrieves a set of controls that should be included in any bind request
generated by 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.
|
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.
|
void |
handleUnsolicitedNotification(LDAPConnection connection,
ExtendedResult notification)
Performs any processing that may be necessary in response to the provided
unsolicited notification that has been received from the server.
|
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.InputStream in,
java.io.OutputStream out,
java.io.OutputStream err,
java.lang.String... args)
Runs this tool with the provided streams and command-line arguments.
|
static void |
main(java.lang.String... args)
Runs this tool with the provided 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.
|
protected boolean |
supportsMultipleServers()
Indicates whether this tool supports creating connections to multiple
servers.
|
boolean |
supportsOutputFile()
Indicates whether this tool should provide arguments for redirecting output
to a 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.
|
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, getConnection, getConnectionOptionsWithRequestedSettings, getConnectionPool, getConnectionPool, getSuppressedShortIdentifiers, getUnauthenticatedConnection, supportsAuthentication, supportsSASLHelp
addEnableSSLDebuggingArgument, createArgumentParser, doShutdownHookProcessing, err, getAdditionalDescriptionParagraphs, getErr, getMaxTrailingArguments, getMinTrailingArguments, getOriginalErr, getOriginalOut, getOut, getPasswordFileReader, getToolCompletionMessage, getTrailingArgumentsPlaceholder, out, registerShutdownHook, requestToolArgumentsInteractively, runTool, wrapErr, wrapOut
public LDAPModify(@Nullable java.io.OutputStream out, @Nullable java.io.OutputStream err)
out
- The output stream to use for standard output. If this is
null
, then standard output will be suppressed.err
- The output stream to use for standard error. If this is
null
, then standard error will be suppressed.public LDAPModify(@Nullable java.io.InputStream in, @Nullable java.io.OutputStream out, @Nullable java.io.OutputStream err)
in
- The input stream to use for standard input. If this is
null
, then no standard input will be used.out
- The output stream to use for standard output. If this is
null
, then standard output will be suppressed.err
- The output stream to use for standard error. If this is
null
, then standard error will be suppressed.public static void main(@NotNull java.lang.String... args)
args
- The command-line arguments to provide to this program.@NotNull public static ResultCode main(@Nullable java.io.InputStream in, @Nullable java.io.OutputStream out, @Nullable java.io.OutputStream err, @NotNull java.lang.String... args)
in
- The input stream to use for standard input. If this is
null
, then no standard input will be used.out
- The output stream to use for standard output. If this is
null
, then standard output will be suppressed.err
- The output stream to use for standard error. If this is
null
, then standard error will be suppressed.args
- The command-line arguments provided to this program.ResultCode.SUCCESS
indicates 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.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.public boolean supportsOutputFile()
true
, then the tool will offer
an "--outputFile" argument that will specify the path to a file to which
all standard output and standard error content will be written, and it will
also offer a "--teeToStandardOut" argument that can only be used if the
"--outputFile" argument is present and will cause all output to be written
to both the specified output file and to standard output.supportsOutputFile
in class CommandLineTool
true
if this tool should provide arguments for redirecting
output to a file, 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 defaultToPromptForBindPassword()
defaultToPromptForBindPassword
in class LDAPCommandLineTool
true
if this tool should default to interactively
prompting for the bind password, 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.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.public void addNonLDAPArguments(@NotNull ArgumentParser parser) throws ArgumentException
addNonLDAPArguments
in class LDAPCommandLineTool
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 LDAPCommandLineTool
ArgumentException
- If there was a problem with the command-line
arguments provided to this program.@NotNull protected java.util.List<Control> getBindControls()
getBindControls
in class LDAPCommandLineTool
null
or empty if no
controls should be included in the bind request.protected boolean supportsMultipleServers()
supportsMultipleServers
in class LDAPCommandLineTool
true
if this tool supports creating connections to
multiple servers, or false
if not.@NotNull public LDAPConnectionOptions getConnectionOptions()
getConnectionOptions
in class LDAPCommandLineTool
@NotNull public ResultCode doToolProcessing()
doToolProcessing
in class CommandLineTool
public void handleUnsolicitedNotification(@NotNull LDAPConnection connection, @NotNull ExtendedResult notification)
handleUnsolicitedNotification
in interface UnsolicitedNotificationHandler
connection
- The connection on which the unsolicited notification
was received.notification
- The unsolicited notification that has been received
from the server.@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.