@ThreadSafety(level=NOT_THREADSAFE) public final class TransformLDIF extends CommandLineTool implements LDIFReaderEntryTranslator
Constructor and Description |
---|
TransformLDIF(java.io.OutputStream out,
java.io.OutputStream err)
Creates a new instance of this tool with the provided information.
|
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.
|
boolean |
defaultsToInteractiveMode()
Indicates whether this tool defaults to launching in interactive mode if
the tool is invoked without any command-line arguments.
|
void |
doExtendedArgumentValidation()
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.
|
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.
|
static ResultCode |
main(java.io.OutputStream out,
java.io.OutputStream err,
java.lang.String... args)
Invokes this tool with the provided set of arguments.
|
static void |
main(java.lang.String... args)
Invokes this tool with the provided set of 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.
|
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.
|
Entry |
translate(Entry original,
long firstLineNumber)
Applies some special transformation or filtering to the original Entry.
|
addEnableSSLDebuggingArgument, createArgumentParser, doShutdownHookProcessing, err, getAdditionalDescriptionParagraphs, getErr, getMaxTrailingArguments, getMinTrailingArguments, getOriginalErr, getOriginalOut, getOut, getPasswordFileReader, getToolCompletionMessage, getTrailingArgumentsPlaceholder, logToolInvocationByDefault, out, registerShutdownHook, requestToolArgumentsInteractively, runTool, supportsOutputFile, wrapErr, wrapOut
public TransformLDIF(@Nullable java.io.OutputStream out, @Nullable java.io.OutputStream err)
out
- The output stream to use for standard output. It may be
null
if standard output should be suppressed.err
- The output stream to use for standard error. It may be
null
if standard error 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(@Nullable java.io.OutputStream out, @Nullable java.io.OutputStream err, @NotNull java.lang.String... args)
out
- The output stream to use for standard output. It may be
null
if standard output should be suppressed.err
- The output stream to use for standard error. It may be
null
if standard error 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
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.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.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 void doExtendedArgumentValidation() throws ArgumentException
CommandLineTool.doToolProcessing()
method is invoked.
Note that if the tool supports interactive mode, then this method may be
invoked multiple times to allow the user to interactively fix validation
errors.doExtendedArgumentValidation
in class CommandLineTool
ArgumentException
- If there was a problem with the command-line
arguments provided to this program.@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 Entry translate(@NotNull Entry original, long firstLineNumber) throws LDIFException
translate
in interface LDIFReaderEntryTranslator
original
- The original Entry that was read and parsed from
the input file.firstLineNumber
- The first line number of the LDIF record
corresponding to the read Entry. This is most
useful when throwing an LDIFException.LDIFReader.readEntry()
. This can be the original parameter
Entry, a newly constructed Entry, or null
to signal that
the provided Entry should be skipped.LDIFException
- If there is an exception during processing. This
exception will be re-thrown to the caller of
readEntry.