-
Class Summary
Class |
Description |
LDAPConnectionArgumentParser |
Creates an argument parser pre-populated with arguments for specifying
information for opening and LDAPConnection an LDAP connection.
|
LDAPConnectionConsoleInteraction |
Supports interacting with a user through the command line to prompt for
information necessary to create an LDAP connection.
|
PointAdder |
Class used to add points periodically to the end of the output.
|
Package org.opends.server.util.cli Description
Provides a high-level framework for implementing command-line tools.
The LDAPConnectionArgumentParser
provides an implementation of
an utility that can manage the processing of command-line arguments for
an application.
This class centralizes a significant amount of processing so that it does
not need to be repeated in all tools requiring this kind of functionality,
as well as helping to ensure that the interaction with program arguments
is in compliance with Sun's CLIP specification.
Features offered by this argument parsing implementation include:
-
Arguments can be denoted using either a single dash followed by a single
character or two dashes followed by a more verbose multi-character
token.
-
The parsing performed on these arguments is very lenient so that it will
likely be compatible with the style preferred by the end user.
-
Arguments are declared with or without a value, and the parser can be
used to ensure that a value is provided for arguments that require one.
-
Each type of argument is associated with a particular data type, and a
minimal amount of validation can be handled by the argument parser itself
in this case (e.g., if an argument is associated with an integer type,
then non-numeric values will be rejected, and it is also possible to
define an acceptable range of values).
-
The argument parser contains a built-in mechanism for ensuring that there
are no conflicts between option names (i.e., it ensures that two
different arguments don't both try to use "-x" to invoke them).
-
The argument parser contains a mechanism for allowing "extra" arguments
at the end of the list which are not explicitly associated with
parameters. For example, in the ldapsearch utility, at least one of
these "extra" arguments would be used for the filter, and if there are
any more of them then they would be used for the list of attributes to
return.
-
The argument parser itself can generate usage information in a consistent
manner so that it is not necessary for each command-line application to
explicitly provide this functionality.
A second version of the argument parser is also available which does not
include support for trailing arguments but does include support for
the use of subcommands. In this case, you can define a number of subcommands
each with their own set of arguments. This can be used for cases in which
one umbrella utility has a number of different capabilities (e.g., the "cvs"
command has a number of sub-commands like "checkout" and "commit" and "diff",
each of which has its own set of options).
The ConsoleApplication
interface can be used as a basis for
console based applications. It includes common utility methods for
interacting with the console.
The MenuBuilder
and associated classes and interfaces can
be used to implement text based menu driven applications.