package com.foundation.web.server.shared; import com.foundation.util.IManagedList; public interface IWebServer { /** * Gets the web application metadata. * @return The list of webapp bundle metadata. A webapp bundle is a zip containing one or more webapps. The list contains instances of WebappBundle. */ public IManagedList getWebappBundles(); /** * Refreshes the bundle by unpacking the lastest webapp zip and stopping and starting the webapp. * @param bundleName The name of the app bundle to refresh. */ public void refreshWebapp(String bundleName); /** * Reloads the bundle (stop & starts it) without unpacking the latest webapp zip. * @param bundleName The name of the app bundle to reload. */ public void reloadWebapp(String bundleName); /** * Permenantly removes the webapp files and archive from the disk and server. Does not remove external files or external settings/configurations. * @param bundleName The name of the app bundle to remove. */ public void removeWebapp(String bundleName); /** * Searches for new or missing web applications in the archive path and updates the app path and loads or unloads new or missing webapps. * @param archivePath The path containing the web application archives, one zip per web application. * @param appPath The path where the archive for each web app should be unpacked and utilized. */ public void refreshWebapps(); /** * Shuts the web server down. */ public void shutdown(); }//IWebServerProxy//