# Class Catalina

java.lang.Object
org.apache.catalina.startup.Catalina

public class Catalina extends Object
Startup/Shutdown shell program for Catalina. The following command line options are recognized:

- -config {pathname} - Set the pathname of the configuration file to be processed. If a relative path is specified, it will be interpreted as relative to the directory pathname specified by the "catalina.base" system property. [conf/server.xml]
- -help - Display usage information.
- -nonaming - Disable naming support.
- configtest - Try to test the config
- start - Start an instance of Catalina.
- stop - Stop the currently running instance of Catalina.

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`protected class`
`Catalina.CatalinaShutdownHook`
Shutdown hook which will perform a clean shutdown of Catalina if needed.
`static interface`
`Catalina.ServerXml`

## Field Summary

Fields
Modifier and Type
Field
Description
`protected boolean`
`await`
Use await.
`protected String`
`configFile`
Pathname to the server configuration file.
`protected boolean`
`generateCode`
Generate Tomcat embedded code from configuration files.
`protected File`
`generatedCodeLocation`
Location of generated sources.
`protected String`
`generatedCodeLocationParameter`
Value of the argument.
`protected String`
`generatedCodePackage`
Top package name for generated source.
`protected boolean`
`loaded`
Prevent duplicate loads.
`protected ClassLoader`
`parentClassLoader`
The shared extensions class loader for this server.
`protected Server`
`server`
The server component we are starting or stopping.
`static final String`
`SERVER_XML`
`protected Thread`
`shutdownHook`
Shutdown hook.
`protected static final StringManager`
`sm`
The string manager for this package.
`protected boolean`
`useGeneratedCode`
Use generated code as a replacement for configuration files.
`protected boolean`
`useNaming`
Is naming enabled ?
`protected boolean`
`useShutdownHook`
Use shutdown hook flag.

## Constructor Summary

Constructors
Constructor
Description
`Catalina()`

## Method Summary

Modifier and Type
Method
Description
`protected boolean`
`arguments(String[] args)`
Process the specified command line arguments.
`void`
`await()`
Await and shutdown.
`protected File`
`configFile()`
Return a File object representing our configuration file.
`protected Digester`
`createStartDigester()`
Create and configure the Digester we will be using for startup.
`protected Digester`
`createStopDigester()`
Create and configure the Digester we will be using for shutdown.
`protected void`
`generateClassFooter(Digester digester)`
`protected void`
`generateClassHeader(Digester digester, boolean start)`
`protected void`
`generateLoader()`
`String`
`getConfigFile()`
`boolean`
`getGenerateCode()`
`File`
`getGeneratedCodeLocation()`
`String`
`getGeneratedCodePackage()`
`ClassLoader`
`getParentClassLoader()`
`Server`
`getServer()`
`boolean`
`getUseGeneratedCode()`
`boolean`
`getUseShutdownHook()`
`protected void`
`initDirs()`
Deprecated.
unused.
`protected void`
`initNaming()`
`protected void`
`initStreams()`
`boolean`
`isAwait()`
`boolean`
`isUseNaming()`
`void`
`load()`
Start a new server instance.
`void`
`load(String[] args)`
`protected void`
`parseServerXml(boolean start)`
`void`
`setAwait(boolean b)`
`void`
`setConfigFile(String file)`
`void`
`setGenerateCode(boolean generateCode)`
`void`
`setGeneratedCodeLocation(File generatedCodeLocation)`
`void`
`setGeneratedCodePackage(String generatedCodePackage)`
`void`
`setParentClassLoader(ClassLoader parentClassLoader)`
Set the shared extensions class loader.
`protected void`
`setSecurityProtection()`
Set the security package access/protection.
`void`
`setServer(Server server)`
`void`
`setUseGeneratedCode(boolean useGeneratedCode)`
`void`
`setUseNaming(boolean useNaming)`
Enables or disables naming support.
`void`
`setUseShutdownHook(boolean useShutdownHook)`
`void`
`start()`
Start a new server instance.
`void`
`stop()`
Stop an existing server instance.
`void`
`stopServer()`
`void`
`stopServer(String[] arguments)`
`protected void`
`usage()`
Print usage information for this application.

### Methods inherited from class Object

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

## Field Details

### sm

protected static final StringManager sm
The string manager for this package.

### SERVER_XML

public static final String SERVER_XML

See Also:
  - Constant Field Values

### await

protected boolean await
Use await.

### configFile

protected String configFile
Pathname to the server configuration file.

### parentClassLoader

protected ClassLoader parentClassLoader
The shared extensions class loader for this server.

### server

protected Server server
The server component we are starting or stopping.

### useShutdownHook

protected boolean useShutdownHook
Use shutdown hook flag.

### shutdownHook

protected Thread shutdownHook
Shutdown hook.

### useNaming

protected boolean useNaming
Is naming enabled ?

### loaded

protected boolean loaded
Prevent duplicate loads.

### generateCode

protected boolean generateCode
Generate Tomcat embedded code from configuration files.

### generatedCodeLocation

protected File generatedCodeLocation
Location of generated sources.

### generatedCodeLocationParameter

protected String generatedCodeLocationParameter
Value of the argument.

### generatedCodePackage

protected String generatedCodePackage
Top package name for generated source.

### useGeneratedCode

protected boolean useGeneratedCode
Use generated code as a replacement for configuration files.

## Constructor Details

### Catalina

public Catalina()

## Method Details

### setConfigFile

public void setConfigFile(String file)

### getConfigFile

public String getConfigFile()

### setUseShutdownHook

public void setUseShutdownHook(boolean useShutdownHook)

### getUseShutdownHook

public boolean getUseShutdownHook()

### getGenerateCode

public boolean getGenerateCode()

### setGenerateCode

public void setGenerateCode(boolean generateCode)

### getUseGeneratedCode

public boolean getUseGeneratedCode()

### setUseGeneratedCode

public void setUseGeneratedCode(boolean useGeneratedCode)

### getGeneratedCodeLocation

public File getGeneratedCodeLocation()

### setGeneratedCodeLocation

public void setGeneratedCodeLocation(File generatedCodeLocation)

### getGeneratedCodePackage

public String getGeneratedCodePackage()

### setGeneratedCodePackage

public void setGeneratedCodePackage(String generatedCodePackage)

### setParentClassLoader

public void setParentClassLoader(ClassLoader parentClassLoader)
Set the shared extensions class loader.

Parameters:
  `parentClassLoader` - The shared extensions class loader.

### getParentClassLoader

public ClassLoader getParentClassLoader()

### setServer

public void setServer(Server server)

### getServer

public Server getServer()

### isUseNaming

public boolean isUseNaming()

Returns:
  `true` if naming is enabled.

### setUseNaming

public void setUseNaming(boolean useNaming)
Enables or disables naming support.

Parameters:
  `useNaming` - The new use naming value

### setAwait

public void setAwait(boolean b)

### isAwait

public boolean isAwait()

### arguments

protected boolean arguments(String[] args)
Process the specified command line arguments.

Parameters:
  `args` - Command line arguments to process
Returns:
  `true` if we should continue processing

### configFile

protected File configFile()
Return a File object representing our configuration file.

Returns:
  the main configuration file

### createStartDigester

protected Digester createStartDigester()
Create and configure the Digester we will be using for startup.

Returns:
  the main digester to parse server.xml

### createStopDigester

protected Digester createStopDigester()
Create and configure the Digester we will be using for shutdown.

Returns:
  the digester to process the stop operation

### parseServerXml

protected void parseServerXml(boolean start)

### stopServer

public void stopServer()

### stopServer

public void stopServer(String[] arguments)

### load

public void load()
Start a new server instance.

### load

public void load(String[] args)

### start

public void start()
Start a new server instance.

### stop

public void stop()
Stop an existing server instance.

### await

public void await()
Await and shutdown.

### usage

protected void usage()
Print usage information for this application.

### initDirs

@Deprecated protected void initDirs()
Deprecated.
unused. Will be removed in Tomcat 10 onwards.

### initStreams

protected void initStreams()

### initNaming

protected void initNaming()

### setSecurityProtection

protected void setSecurityProtection()
Set the security package access/protection.

### generateLoader

protected void generateLoader()

### generateClassHeader

protected void generateClassHeader(Digester digester, boolean start)

### generateClassFooter

protected void generateClassFooter(Digester digester)