Class GenerateSourceFromSchema

java.lang.Object
com.unboundid.util.CommandLineTool
com.unboundid.util.LDAPCommandLineTool
com.unboundid.ldap.sdk.persist.GenerateSourceFromSchema
All Implemented Interfaces:
Serializable

This class provides a tool which can be used to generate source code for a Java class file based on information read from the schema of an LDAP directory server.
See Also:
  • Constructor Details

    • GenerateSourceFromSchema

      Creates a new instance of this tool.
      Parameters:
      outStream - The output stream to which standard out should be written. It may be null if output should be suppressed.
      errStream - The output stream to which standard error should be written. It may be null if error messages should be suppressed.
  • Method Details

    • main

      public static void main(@NotNull String[] args)
      Parse the provided command line arguments and perform the appropriate processing.
      Parameters:
      args - The command line arguments provided to this program.
    • main

      @NotNull public static ResultCode main(@NotNull String[] args, @Nullable OutputStream outStream, @Nullable OutputStream errStream)
      Parse the provided command line arguments and perform the appropriate processing.
      Parameters:
      args - The command line arguments provided to this program.
      outStream - The output stream to which standard out should be written. It may be null if output should be suppressed.
      errStream - The output stream to which standard error should be written. It may be null if error messages should be suppressed.
      Returns:
      A result code indicating whether the processing was successful.
    • 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. If the description should include multiple paragraphs, then this method should return the text for the first paragraph, and the CommandLineTool.getAdditionalDescriptionParagraphs() method should be used to return the text for the subsequent paragraphs.
      Specified by:
      getToolDescription in class CommandLineTool
      Returns:
      A human-readable description for this tool.
    • getToolVersion

      Retrieves the version string for this tool.
      Overrides:
      getToolVersion in class CommandLineTool
      Returns:
      The version string for this tool.
    • 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.
    • 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.
    • defaultToPromptForBindPassword

      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.
      Overrides:
      defaultToPromptForBindPassword in class LDAPCommandLineTool
      Returns:
      true if this tool should default to interactively prompting for the bind password, 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.
    • 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.
    • includeAlternateLongIdentifiers

      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.
      Overrides:
      includeAlternateLongIdentifiers in class LDAPCommandLineTool
      Returns:
      true if this tool should provide multiple versions of long identifiers for LDAP-specific arguments, or false if not.
    • supportsSSLDebugging

      protected boolean supportsSSLDebugging()
      Indicates whether this tool should provide a command-line argument that allows for low-level SSL debugging. If this returns true, then an "--enableSSLDebugging}" argument will be added that sets the "javax.net.debug" system property to "all" before attempting any communication.
      Overrides:
      supportsSSLDebugging in class LDAPCommandLineTool
      Returns:
      true if this tool should offer an "--enableSSLDebugging" argument, or false if not.
    • addNonLDAPArguments

      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.
      Specified by:
      addNonLDAPArguments in class LDAPCommandLineTool
      Parameters:
      parser - The argument parser to which the arguments should be added.
      Throws:
      ArgumentException - If a problem occurs while adding the arguments.
    • 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.