Class ExtendletLoader<V>

    • Nested Class Summary

    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected ExtendletLoader()  
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      int getCheckPeriod()
      Returns the check period, or -1 if the content is never changed.
      protected abstract ExtendletContext getExtendletContext()
      Returns the extendlet context.
      long getLastModified​(java.lang.String src)
      Returns the last modified time.
      protected java.lang.String getRealPath​(java.lang.String path)
      Returns the real path for the specified path.
      V load​(java.lang.String src)
      Loads the resource.
      protected abstract V parse​(java.io.InputStream is, java.lang.String path, java.lang.String orgpath)
      It is called to parse the resource into an intermediate format depending on Extendlet.
      boolean shallCheck​(java.lang.String src, long expiredMillis)
      Returns whether to call Loader.getLastModified(K).
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ExtendletLoader

        protected ExtendletLoader()
    • Method Detail

      • getRealPath

        protected java.lang.String getRealPath​(java.lang.String path)
        Returns the real path for the specified path.

        Default: return path, i.e., the path specified in URL is the real path.

        Notice that parse(java.io.InputStream, java.lang.String, java.lang.String) will receive the original path (rather than the returned path).

        Parameters:
        path - the path specified in URL. Notice that it does NOT start with "~./". Rather it starts with "/". For example, "/zul/css/zk.wcs".
        Since:
        5.0.0
      • shallCheck

        public boolean shallCheck​(java.lang.String src,
                                  long expiredMillis)
        Description copied from interface: Loader
        Returns whether to call Loader.getLastModified(K). If false, it assumes the current cached content is up-to-date.
        Specified by:
        shallCheck in interface Loader<java.lang.String,​V>
        expiredMillis - how many milli-seconds are expired after the last check. In most cases, just return true if expiredMillis > 0
      • getLastModified

        public long getLastModified​(java.lang.String src)
        Returns the last modified time.
        Specified by:
        getLastModified in interface Loader<java.lang.String,​V>
      • parse

        protected abstract V parse​(java.io.InputStream is,
                                   java.lang.String path,
                                   java.lang.String orgpath)
                            throws java.lang.Exception
        It is called to parse the resource into an intermediate format depending on Extendlet.

        The object is returned directly by load(java.lang.String), so you can return an instance of org.zkoss.util.resource.Loader.Resource to have more control on ResourceCache.

        Parameters:
        is - the content of the resource
        path - the path of the resource. It is the value returned by getRealPath(java.lang.String), so called the real path
        orgpath - the original path. It is the path passed to the path argument of getRealPath(java.lang.String). It is useful if you want to retrieve the additional information encoded into the URI.
        Throws:
        java.lang.Exception
        Since:
        5.0.0
      • getExtendletContext

        protected abstract ExtendletContext getExtendletContext()
        Returns the extendlet context.
      • getCheckPeriod

        public int getCheckPeriod()
        Returns the check period, or -1 if the content is never changed. Unit: milliseconds.

        Default: It checks if an integer (unit: second) is assigned to a system property called org.zkoss.util.resource.extendlet.checkPeriod. If no such system property, -1 is assumed (never change). For the runtime environment the content is never changed, since all extendlet resources are packed in JAR files.