Class Base64Tool

java.lang.Object
com.unboundid.util.CommandLineTool
com.unboundid.ldap.sdk.examples.Base64Tool

This class provides a tool that can be used to perform base64 encoding and decoding from the command line. It provides two subcommands: encode and decode. Each of those subcommands offers the following arguments:
  • "--data {data}" -- specifies the data to be encoded or decoded.
  • "--inputFile {data}" -- specifies the path to a file containing the data to be encoded or decoded.
  • "--outputFile {data}" -- specifies the path to a file to which the encoded or decoded data should be written.
The "--data" and "--inputFile" arguments are mutually exclusive, and if neither is provided, the data to encode will be read from standard input. If the "--outputFile" argument is not provided, then the result will be written to standard output.
  • Constructor Details

    • Base64Tool

      Creates a new instance of this tool with the provided information. Standard input will not be available.
      Parameters:
      out - The output stream to which standard out should be written. It may be null if standard output should be suppressed.
      err - The output stream to which standard error should be written. It may be null if standard error should be suppressed.
    • Base64Tool

      Creates a new instance of this tool with the provided information.
      Parameters:
      in - The input stream to use for standard input. It may be null if no standard input is needed.
      out - The output stream to which standard out should be written. It may be null if standard output should be suppressed.
      err - The output stream to which standard error should be written. It may be null if standard error should be suppressed.
  • Method Details

    • main

      public static void main(@NotNull String... args)
      Runs the tool with the provided set of arguments.
      Parameters:
      args - The command line arguments provided to this program.
    • main

      Runs the tool with the provided information.
      Parameters:
      in - The input stream to use for standard input. It may be null if no standard input is needed.
      out - The output stream to which standard out should be written. It may be null if standard output should be suppressed.
      err - The output stream to which standard error should be written. It may be null if standard error should be suppressed.
      args - The command line arguments provided to this program.
      Returns:
      The result code obtained from running the tool. A result code other than ResultCode.SUCCESS will indicate that an error occurred.
    • getToolName

      Retrieves the name of this tool. It should be the name of the command used to invoke this tool.
      Specified by:
      getToolName in class CommandLineTool
      Returns:
      The name for this tool.
    • getToolDescription

      Retrieves a human-readable description for this tool.
      Specified by:
      getToolDescription in class CommandLineTool
      Returns:
      A human-readable description for this tool.
    • getToolVersion

      Retrieves a version string for this tool, if available.
      Overrides:
      getToolVersion in class CommandLineTool
      Returns:
      A version string for this tool, or null if none is available.
    • supportsInteractiveMode

      public 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. If interactive mode is supported, it may be invoked using the "--interactive" argument. Alternately, if interactive mode is supported and defaultsToInteractiveMode() returns true, then interactive mode may be invoked by simply launching the tool without any arguments.
      Overrides:
      supportsInteractiveMode in class CommandLineTool
      Returns:
      true if this tool supports interactive mode, or false if not.
    • defaultsToInteractiveMode

      public boolean defaultsToInteractiveMode()
      Indicates whether this tool defaults to launching in interactive mode if the tool is invoked without any command-line arguments. This will only be used if supportsInteractiveMode() returns true.
      Overrides:
      defaultsToInteractiveMode in class CommandLineTool
      Returns:
      true if this tool defaults to using interactive mode if launched without any command-line arguments, or false if not.
    • supportsPropertiesFile

      public 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.
      Overrides:
      supportsPropertiesFile in class CommandLineTool
      Returns:
      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.
    • supportsOutputFile

      protected boolean supportsOutputFile()
      Indicates whether this tool should provide arguments for redirecting output to a file. If this method returns 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.
      Overrides:
      supportsOutputFile in class CommandLineTool
      Returns:
      true if this tool should provide arguments for redirecting output to a file, or false if not.
    • supportsDebugLogging

      protected boolean supportsDebugLogging()
      Indicates whether this tool supports the ability to generate a debug log file. If this method returns true, then the tool will expose additional arguments that can control debug logging.
      Overrides:
      supportsDebugLogging in class CommandLineTool
      Returns:
      true if this tool supports the ability to generate a debug log file, or false if not.
    • addToolArguments

      Adds the command-line arguments supported for use with this tool to the provided argument parser. The tool may need to retain references to the arguments (and/or the argument parser, if trailing arguments are allowed) to it in order to obtain their values for use in later processing.
      Specified by:
      addToolArguments in class CommandLineTool
      Parameters:
      parser - The argument parser to which the arguments are to be added.
      Throws:
      ArgumentException - If a problem occurs while adding any of the tool-specific arguments to the provided argument parser.
    • doToolProcessing

      Performs the core set of processing for this tool.
      Specified by:
      doToolProcessing in class CommandLineTool
      Returns:
      A result code that indicates whether the processing completed successfully.
    • getExampleUsages

      Retrieves a set of information that may be used to generate example usage information. Each element in the returned map should consist of a map between an example set of arguments and a string that describes the behavior of the tool when invoked with that set of arguments.
      Overrides:
      getExampleUsages in class CommandLineTool
      Returns:
      A set of information that may be used to generate example usage information. It may be null or empty if no example usage information is available.