All Downloads are FREE. Search and download functionalities are using the official Maven repository.

restx.server.WebServer Maven / Gradle / Ivy

There is a newer version: 1.2.0-rc2
Show newest version
package restx.server;

/**
 * User: xavierhanin
 * Date: 1/16/13
 * Time: 9:46 PM
 */
public interface WebServer {
    public void start() throws Exception;
    public void await() throws Exception;
    public void startAndAwait() throws Exception;
    public void stop() throws Exception;

    /**
     * Returns the base URL on which this server is listening.
     *
     * This is useful to build a URL to make a call on that server. This is not manadatory that this base URL can be
     * used on another machine than the current machine.
     *
     * May return an empty string if unknown.
     *
     * Eg: http://localhost:8080
     *
     * @return the base URL on which this server is listening, or an empty string if unkown.
     */
    public String baseUrl();

    /**
     * The id of this server, which is unique in the current JVM classloader.
     *
     * WebServer are usually registered using their id so that they can be found with WebServers.getServerById(id).
     *
     * @return this web server id.
     */
    public String getServerId();

    /**
     * Returns the port on which this server is listening.
     *
     * It this information is not known or cannot be disclosed, return 0.
     *
     * @return the port on which this server is listening, or 0 if unknown.
     */
    public int getPort();

    /**
     * The type of this server, can be used for information only.
     *
     * Eg:
     * "Eclipse Jetty 8.1.8.v20121106, embedded"
     * "Apache Tomcat 7.0.53"
     * "Undertow"
     *
     * Note that this information may not be accurate, and may return "unknown" if no information on this
     * server type is available.
     *
     * @return this web server type.
     */
    public String getServerType();

    public boolean isStarted();
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy