## org.apache.catalina
Interface Server

All Known Implementing Classes:
  StandardServer

public interface Server

A `Server` element represents the entire Catalina servlet container. Its attributes represent the characteristics of the servlet container as a whole. A `Server` may contain one or more `Services`, and the top level set of naming resources.

Normally, an implementation of this interface will also implement `Lifecycle`, such that when the `start()` and `stop()` methods are called, all of the defined `Services` are also started or stopped.

In between, the implementation must open a server socket on the port number specified by the `port` property. When a connection is accepted, the first line is read and compared with the specified shutdown command. If the command matches, shutdown of the server is initiated.

NOTE - The concrete implementation of this class should register the (singleton) instance with the `ServerFactory` class in its constructor(s).

Version:
  $Revision: 1.11 $ $Date: 2004/08/26 22:05:53 $
Author:
  Craig R. McClanahan

Method Summary
`void` `addService(Service service)` Add a new Service to the set of defined Services.
`void` `await()` Wait until a proper shutdown command is received, then return.
`Service` `findService(java.lang.String name)` Return the specified Service (if it exists); otherwise return `null`.
`Service[]` `findServices()` Return the set of Services defined within this Server.
`NamingResources` `getGlobalNamingResources()` Return the global naming resources.
`java.lang.String` `getInfo()` Return descriptive information about this Server implementation and the corresponding version number, in the format `<description>/<version>`.
`int` `getPort()` Return the port number we listen to for shutdown commands.
`java.lang.String` `getShutdown()` Return the shutdown command string we are waiting for.
`void` `initialize()` Invoke a pre-startup initialization.
`void` `removeService(Service service)` Remove the specified Service from the set associated from this Server.
`void` `setGlobalNamingResources(NamingResources globalNamingResources)` Set the global naming resources.
`void` `setPort(int port)` Set the port number we listen to for shutdown commands.
`void` `setShutdown(java.lang.String shutdown)` Set the shutdown command we are waiting for.

Method Detail

### getInfo

    public java.lang.String getInfo()

  Return descriptive information about this Server implementation and the corresponding version number, in the format `<description>/<version>`.

### getGlobalNamingResources

    public NamingResources getGlobalNamingResources()

  Return the global naming resources.

### setGlobalNamingResources

    public void setGlobalNamingResources(NamingResources globalNamingResources)

  Set the global naming resources.

### getPort

    public int getPort()

  Return the port number we listen to for shutdown commands.

### setPort

    public void setPort(int port)

  Set the port number we listen to for shutdown commands.

  Parameters:
    `port` - The new port number

### getShutdown

    public java.lang.String getShutdown()

  Return the shutdown command string we are waiting for.

### setShutdown

    public void setShutdown(java.lang.String shutdown)

  Set the shutdown command we are waiting for.

  Parameters:
    `shutdown` - The new shutdown command

### addService

    public void addService(Service service)

  Add a new Service to the set of defined Services.

  Parameters:
    `service` - The Service to be added

### await

    public void await()

  Wait until a proper shutdown command is received, then return.

### findService

    public Service findService(java.lang.String name)

  Return the specified Service (if it exists); otherwise return `null`.

  Parameters:
    `name` - Name of the Service to be returned

### findServices

    public Service[] findServices()

  Return the set of Services defined within this Server.

### removeService

    public void removeService(Service service)

  Remove the specified Service from the set associated from this Server.

  Parameters:
    `service` - The Service to be removed

### initialize

    public void initialize()
                    throws LifecycleException

  Invoke a pre-startup initialization. This is used to allow connectors to bind to restricted ports under Unix operating environments.

  Throws:
    `LifecycleException` - If this server was already initialized.

Copyright ? 2000-2002 Apache Software Foundation. All Rights Reserved.