|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.unboundid.util.CommandLineTool
com.unboundid.util.MultiServerLDAPCommandLineTool
@Extensible @ThreadSafety(level=INTERFACE_NOT_THREADSAFE) public abstract class MultiServerLDAPCommandLineTool
This class provides a basis for developing command-line tools that have the
ability to communicate with multiple directory servers, potentially with
very different settings for each. For example, it may be used to help create
tools that move or compare data from one server to another.
Each server will be identified by a prefix and/or suffix that will be added
to the argument name (e.g., if the first server has a prefix of "source",
then the "hostname" argument will actually be "sourceHostname"). The
base names for the arguments this class supports include:
Constructor Summary | |
---|---|
MultiServerLDAPCommandLineTool(java.io.OutputStream outStream,
java.io.OutputStream errStream,
java.lang.String[] serverNamePrefixes,
java.lang.String[] serverNameSuffixes)
Creates a new instance of this multi-server LDAP command-line tool. |
Method Summary | |
---|---|
abstract 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 |
addToolArguments(ArgumentParser parser)
Adds the command-line arguments supported for use with this tool to the provided argument parser. |
BindRequest |
createBindRequest(int serverIndex)
Creates the bind request to use to authenticate to the indicated server. |
ServerSet |
createServerSet(int serverIndex)
Creates the server set to use when creating connections or connection pools. |
SSLUtil |
createSSLUtil(int serverIndex)
Creates the SSLUtil instance to use for secure communication. |
void |
doExtendedArgumentValidation()
Performs any necessary processing that should be done to ensure that the provided set of command-line arguments were valid. |
void |
doExtendedNonLDAPArgumentValidation()
Performs any necessary processing that should be done to ensure that the provided set of command-line arguments were valid. |
LDAPConnection |
getConnection(int serverIndex)
Retrieves a connection that may be used to communicate with the indicated directory server. |
LDAPConnectionOptions |
getConnectionOptions()
Retrieves the connection options that should be used for connections that are created with this command line tool. |
LDAPConnectionPool |
getConnectionPool(int serverIndex,
int initialConnections,
int maxConnections)
Retrieves a connection pool that may be used to communicate with the indicated directory server. |
LDAPConnection |
getUnauthenticatedConnection(int serverIndex)
Retrieves an unauthenticated connection that may be used to communicate with the indicated directory server. |
Methods inherited from class com.unboundid.util.CommandLineTool |
---|
createArgumentParser, doShutdownHookProcessing, doToolProcessing, err, getErr, getExampleUsages, getMaxTrailingArguments, getOut, getToolDescription, getToolName, getToolVersion, getTrailingArgumentsPlaceholder, out, registerShutdownHook, runTool, wrapErr, wrapOut |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public MultiServerLDAPCommandLineTool(java.io.OutputStream outStream, java.io.OutputStream errStream, java.lang.String[] serverNamePrefixes, java.lang.String[] serverNameSuffixes) throws LDAPSDKUsageException
null
. If both are non-null
, then they must have the
same number of elements.
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.serverNamePrefixes
- The prefixes to include before the names of
each of the parameters to identify each server.
It may be null
if only suffixes should
be used.serverNameSuffixes
- The suffixes to include after the names of each
of the parameters to identify each server. It
may be null
if only prefixes should be
used.
LDAPSDKUsageException
- If both the sets of server name prefixes
and suffixes are null
or empty, or
if both sets are non-null
but have
different numbers of elements.Method Detail |
---|
public final void addToolArguments(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 abstract void addNonLDAPArguments(ArgumentParser parser) throws ArgumentException
parser
- The argument parser to which the arguments should be added.
ArgumentException
- If a problem occurs while adding the arguments.public final void doExtendedArgumentValidation() throws ArgumentException
CommandLineTool.doToolProcessing()
method is invoked.
doExtendedArgumentValidation
in class CommandLineTool
ArgumentException
- If there was a problem with the command-line
arguments provided to this program.public void doExtendedNonLDAPArgumentValidation() throws ArgumentException
CommandLineTool.doToolProcessing()
method is invoked.
ArgumentException
- If there was a problem with the command-line
arguments provided to this program.public LDAPConnectionOptions getConnectionOptions()
@ThreadSafety(level=METHOD_THREADSAFE) public final LDAPConnection getConnection(int serverIndex) throws LDAPException
CommandLineTool.doToolProcessing()
method.
serverIndex
- The zero-based index of the server to which the
connection should be established.
LDAPException
- If a problem occurs while creating the connection.@ThreadSafety(level=METHOD_THREADSAFE) public final LDAPConnection getUnauthenticatedConnection(int serverIndex) throws LDAPException
CommandLineTool.doToolProcessing()
method.
serverIndex
- The zero-based index of the server to which the
connection should be established.
LDAPException
- If a problem occurs while creating the connection.@ThreadSafety(level=METHOD_THREADSAFE) public final LDAPConnectionPool getConnectionPool(int serverIndex, int initialConnections, int maxConnections) throws LDAPException
CommandLineTool.doToolProcessing()
method.
serverIndex
- The zero-based index of the server to which the
connection should be established.initialConnections
- The number of connections that should be
initially established in the pool.maxConnections
- The maximum number of connections to maintain
in the pool.
LDAPException
- If a problem occurs while creating the connection
pool.public final ServerSet createServerSet(int serverIndex) throws LDAPException
serverIndex
- The zero-based index of the server to which the
connection should be established.
LDAPException
- If a problem occurs while creating the server set.public final SSLUtil createSSLUtil(int serverIndex) throws LDAPException
serverIndex
- The zero-based index of the server to which the
connection should be established.
null
if secure communication is not needed.
LDAPException
- If a problem occurs while creating the SSLUtil
instance.public final BindRequest createBindRequest(int serverIndex) throws LDAPException
serverIndex
- The zero-based index of the server to which the
connection should be established.
null
if no bind should be performed.
LDAPException
- If a problem occurs while creating the bind
request.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |