The JT Harness Tool API provides the command-line and GUI infrastructure for the main JT Harness test harness. It provides for an extensible set of {@link com.sun.javatest.tool.Tool tools}, managed by corresponding {@link com.sun.javatest.tool.ToolManager tool managers}. Tools may be run in batch mode, or may be displayed in one of a number of different {@link com.sun.javatest.tool.Desktop desktop styles}. The state of a desktop can be saved on exit, and restored when the application is next restarted. The tools and the desktop may also use {@link com.sun.javatest.tool.Preferences user preferences} to control their appearance. @since 3.0