## org.h2.util
Class Tool

    java.lang.Object
      org.h2.util.Tool

Direct Known Subclasses:
  Backup, ChangeFileEncryption, Console, ConvertTraceFile, CreateCluster, DeleteDbFiles, FileViewer, FtpServer, Recover, Restore, RunScript, Script, Server, Shell

    public abstract class Tool

extends java.lang.Object

Command line tools implement the tool interface so that they can be used in the H2 Console.

Field Summary
`protected java.io.PrintStream` `out` The output stream where this tool writes to.

Constructor Summary
`Tool()`

Method Summary
`protected void` `printNoDatabaseFilesFound(java.lang.String dir, java.lang.String db)` Print to the output stream that no database files have been found.
`abstract void` `runTool(java.lang.String... args)` Run the tool with the given output stream and arguments.
`void` `setOut(java.io.PrintStream out)` Sets the standard output stream.
`protected void` `showUsage()` Print the usage of the tool.
`protected java.sql.SQLException` `throwUnsupportedOption(java.lang.String option)` Throw a SQLException saying this command line option is not supported.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### out

    protected java.io.PrintStream out

  The output stream where this tool writes to.

Constructor Detail

### Tool

    public Tool()

Method Detail

### setOut

    public void setOut(java.io.PrintStream out)

  Sets the standard output stream.

  Parameters:
    `out` - the new standard output stream

### runTool

    public abstract void runTool(java.lang.String... args)
                          throws java.sql.SQLException

  Run the tool with the given output stream and arguments.

  Parameters:
    `args` - the argument list
  Throws:
    `java.sql.SQLException`

### throwUnsupportedOption

    protected java.sql.SQLException throwUnsupportedOption(java.lang.String option)
                                                    throws java.sql.SQLException

  Throw a SQLException saying this command line option is not supported.

  Parameters:
    `option` - the unsupported option
  Returns:
    this method never returns normally
  Throws:
    `java.sql.SQLException`

### printNoDatabaseFilesFound

    protected void printNoDatabaseFilesFound(java.lang.String dir,
                                             java.lang.String db)

  Print to the output stream that no database files have been found.

  Parameters:
    `dir` - the directory or null
    `db` - the database name or null

### showUsage

    protected void showUsage()

  Print the usage of the tool. This method reads the description from the resource file.