Package org.apache.catalina.startup

## Class Bootstrap

- java.lang.Object
- - org.apache.catalina.startup.Bootstrap

    public final class Bootstrap
    extends java.lang.Object

Bootstrap loader for Catalina. This application constructs a class loader for use in loading the Catalina internal classes (by accumulating all of the JAR files found in the "server" directory under "catalina.home"), and starts the regular execution of the container. The purpose of this roundabout approach is to keep the Catalina internal classes (and any other classes they depend on, such as an XML parser) out of the system class path and therefore not visible to application level classes.

Author:
  Craig R. McClanahan, Remy Maucherat

### Constructor Summary

Constructors
`Bootstrap()`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`void` `destroy()` Destroy the Catalina Daemon.
`boolean` `getAwait()`
`static java.lang.String` `getCatalinaBase()` Obtain the name of the configured base (instance) directory.
`static java.io.File` `getCatalinaBaseFile()` Obtain the configured base (instance) directory.
`static java.lang.String` `getCatalinaHome()` Obtain the name of configured home (binary) directory.
`static java.io.File` `getCatalinaHomeFile()` Obtain the configured home (binary) directory.
`protected static java.lang.String[]` `getPaths​(java.lang.String value)`
`void` `init()` Initialize daemon.
`void` `init​(java.lang.String[] arguments)` Load the Catalina daemon.
`static void` `main​(java.lang.String[] args)` Main method and entry point when starting Tomcat via the provided scripts.
`protected java.lang.String` `replace​(java.lang.String str)` System property replacement in the given string.
`void` `setAwait​(boolean await)` Set flag.
`void` `start()` Start the Catalina daemon.
`void` `stop()` Stop the Catalina Daemon.
`void` `stopServer()` Stop the standalone server.
`void` `stopServer​(java.lang.String[] arguments)` Stop the standalone server.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### Bootstrap

    public Bootstrap()

### Method Detail

#### replace

    protected java.lang.String replace​(java.lang.String str)

System property replacement in the given string.

Parameters:
  `str` - The original string
Returns:
  the modified string

#### init

    public void init()
              throws java.lang.Exception

Initialize daemon.

Throws:
  `java.lang.Exception` - Fatal initialization error

#### init

    public void init​(java.lang.String[] arguments)
              throws java.lang.Exception

Load the Catalina daemon.

Parameters:
  `arguments` - Initialization arguments
Throws:
  `java.lang.Exception` - Fatal initialization error

#### start

    public void start()
               throws java.lang.Exception

Start the Catalina daemon.

Throws:
  `java.lang.Exception` - Fatal start error

#### stop

    public void stop()
              throws java.lang.Exception

Stop the Catalina Daemon.

Throws:
  `java.lang.Exception` - Fatal stop error

#### stopServer

    public void stopServer()
                    throws java.lang.Exception

Stop the standalone server.

Throws:
  `java.lang.Exception` - Fatal stop error

#### stopServer

    public void stopServer​(java.lang.String[] arguments)
                    throws java.lang.Exception

Stop the standalone server.

Parameters:
  `arguments` - Command line arguments
Throws:
  `java.lang.Exception` - Fatal stop error

#### setAwait

    public void setAwait​(boolean await)
                  throws java.lang.Exception

Set flag.

Parameters:
  `await` - `true` if the daemon should block
Throws:
  `java.lang.Exception` - Reflection error

#### getAwait

    public boolean getAwait()
                     throws java.lang.Exception

Throws:
  `java.lang.Exception`

#### destroy

    public void destroy()

Destroy the Catalina Daemon.

#### main

    public static void main​(java.lang.String[] args)

Main method and entry point when starting Tomcat via the provided scripts.

Parameters:
  `args` - Command line arguments to be processed

#### getCatalinaHome

    public static java.lang.String getCatalinaHome()

Obtain the name of configured home (binary) directory. Note that home and base may be the same (and are by default).

Returns:
  the catalina home

#### getCatalinaBase

    public static java.lang.String getCatalinaBase()

Obtain the name of the configured base (instance) directory. Note that home and base may be the same (and are by default). If this is not set the value returned by `getCatalinaHome()` will be used.

Returns:
  the catalina base

#### getCatalinaHomeFile

    public static java.io.File getCatalinaHomeFile()

Obtain the configured home (binary) directory. Note that home and base may be the same (and are by default).

Returns:
  the catalina home as a file

#### getCatalinaBaseFile

    public static java.io.File getCatalinaBaseFile()

Obtain the configured base (instance) directory. Note that home and base may be the same (and are by default). If this is not set the value returned by `getCatalinaHomeFile()` will be used.

Returns:
  the catalina base as a file

#### getPaths

    protected static java.lang.String[] getPaths​(java.lang.String value)