Interface WebApp

All Superinterfaces:
org.zkoss.util.resource.Locator, Scope
All Known Implementing Classes:
AbstractWebApp, SimpleWebApp

public interface WebApp extends Scope, org.zkoss.util.resource.Locator
Represents a Web application. A web application is usually in form of a war file. An application might have multiple Web applications.

In HTTP, Web application represents a servlet context that supports ZK. In other word, a Web application is created if DHtmlLayoutServlet is declared in web.xml.

To get the current Web application, use Desktop.getWebApp().

Author:
tomyeh
  • Method Details

    • getAppName

      String getAppName()
      Returns the application name, never null. Developer can set it to any name that describes his application.

      Default: ZK

    • setAppName

      void setAppName(String name)
      Sets the application name. Developer can set it to any name that describes his application.
    • getVersion

      String getVersion()
      Returns the ZK version, such as "1.1.0" and "2.0.0".
      See Also:
      • getSubversion(int)
      • Utils.parseVersion(java.lang.String)
      • Utils.compareVersion(int[], int[])
    • getBuild

      String getBuild()
      Returns the build identifier, such as 2007121316.

      Each time ZK is built, a different build identifier is assigned.

      Since:
      3.0.1
    • getSubversion

      int getSubversion(int portion)
      Returns a portion of the version in an integer by specifying its index. For example, getSubversion(0) returns the so-called major version (2 in "2.4.0"), getSubversion(1) returns the so-called minor version (4 in "2.4.0"), and both getSubversion(2) and getSubversion(3) return 0.
      Parameters:
      portion - which portion of the version; starting from 0. If you want to retrieve the major version, specify 0.
      Since:
      3.0.0
      See Also:
    • getAttribute

      Object getAttribute(String name)
      Returns the value of the specified custom attribute.
      Specified by:
      getAttribute in interface Scope
    • setAttribute

      Object setAttribute(String name, Object value)
      Sets the value of the specified custom attribute.
      Specified by:
      setAttribute in interface Scope
      Returns:
      the previous value if any (since ZK 5)
    • removeAttribute

      Object removeAttribute(String name)
      Removes the specified custom attribute.
      Specified by:
      removeAttribute in interface Scope
      Returns:
      the previous value if any (since ZK 5)
    • getAttributes

      Map<String,Object> getAttributes()
      Returns a map of custom attributes associated with this object.
      Specified by:
      getAttributes in interface Scope
    • getWebApp

      WebApp getWebApp(String uripath)
      Returns the WebApp that corresponds to a specified URL on the server, or null if either none exists or the container wishes to restrict this access..
    • getResource

      URL getResource(String path)
      Returns a URL to the resource that is mapped to a specified path.

      Notice that, since 3.6.3, this method can retrieve the resource starting with "~./". If the path contains the wildcard ('*'), you can use Execution.locate(java.lang.String) to convert it to a proper string first.

      Specified by:
      getResource in interface org.zkoss.util.resource.Locator
    • getResourceAsStream

      InputStream getResourceAsStream(String path)
      Returns the resource located at the named path as an InputStream object.

      Notice that, since 3.6.3, this method can retrieve the resource starting with "~./". If the path contains the wildcard ('*'), you can use Execution.locate(java.lang.String) to convert it to a proper string first.

      Specified by:
      getResourceAsStream in interface org.zkoss.util.resource.Locator
    • getRealPath

      String getRealPath(String path)
      Returns a String containing the real path for a given virtual path. For example, the path "/index.html" returns the absolute file path on the server's filesystem would be served by a request for "http://host/contextPath/index.html", where contextPath is the context path of this WebApp.

      Notice that ZK don't count on this method to retrieve resources. If you want to change the mapping of URI to different resources, override UiFactory.getPageDefinition(org.zkoss.zk.ui.sys.RequestInfo, java.lang.String) instead.

    • getMimeType

      String getMimeType(String file)
      Returns the MIME type of the specified file, or null if the MIME type is not known. The MIME type is determined by the configuration of the Web container.

      Common MIME types are "text/html" and "image/gif".

    • getResourcePaths

      Set<String> getResourcePaths(String path)
      Returns a directory-like listing of all the paths to resources within the web application whose longest sub-path matches the supplied path argument. Paths indicating subdirectory paths end with a '/'. The returned paths are all relative to the root of the web application and have a leading '/'. For example, for a web application containing
      
              /welcome.html
              /catalog/index.html
              /catalog/products.html
              /catalog/offers/books.html
              /catalog/offers/music.html
              /customer/login.jsp
              /WEB-INF/web.xml
              /WEB-INF/classes/com.acme.OrderServlet.class,
              
              getResourcePaths("/") returns {"/welcome.html", "/catalog/", "/customer/", "/WEB-INF/"}
              getResourcePaths("/catalog/") returns {"/catalog/index.html", "/catalog/products.html", "/catalog/offers/"}.
              
              
    • getInitParameter

      String getInitParameter(String name)
      Returns the value of the named context-wide initialization parameter, or null if the parameter does not exist.
    • getInitParameterNames

      Iterable<String> getInitParameterNames()
      Returns the names of the context's initialization parameters as an iterable String objects (never null).
      Since:
      6.0.0
    • getUpdateURI

      String getUpdateURI()
      Returns the URI for asynchronous update.

      Both getUpdateURI() and Desktop.getUpdateURI(java.lang.String) are encoded with Execution.encodeURL(java.lang.String)

      Throws:
      NullPointerException - if the current execution is not available
      Since:
      3.6.2
      See Also:
    • getUpdateURI

      String getUpdateURI(boolean encode)
      Returns the URI for asynchronous update that can be encoded or not.
      Parameters:
      encode - whether to encode with Execution.encodeURL(java.lang.String). It is the same as getUpdateURI() if encode is true.
      Throws:
      NullPointerException - if the current execution is not available and encode is true.
      Since:
      5.0.0
    • getConfiguration

      Configuration getConfiguration()
      Returns the configuration.
    • getServletContext

      jakarta.servlet.ServletContext getServletContext()
      Returns the servlet context of this application.
      Since:
      6.0.0
    • log

      void log(String msg)
      Writes the specified message to a servlet log file, usually an event log. The name and type of the servlet log file is specific to the servlet container.
      Since:
      6.0.0
    • log

      void log(String msg, Throwable ex)
      Writes an explanatory message and a stack trace for a given Throwable exception to the servlet log file. The name and type of the servlet log file is specific to the servlet container, usually an event log.
      Since:
      6.0.0
    • getResourceURI

      default String getResourceURI()
      Throws:
      NullPointerException - if the current execution is not available
      Since:
      9.5.0
      See Also:
    • getResourceURI

      default String getResourceURI(boolean encode)
      Returns the URI for ZK resource that can be encoded or not.
      Parameters:
      encode - whether to encode with Execution.encodeURL(java.lang.String). It is the same as getResourceURI() if encode is true.
      Throws:
      NullPointerException - if the current execution is not available and encode is true.
      Since:
      9.5.0