public abstract class ExtendletLoader<V> extends java.lang.Object implements Loader<java.lang.String,V>
parse(java.io.InputStream, java.lang.String, java.lang.String)
and getExtendletContext()
.
If the real path is not the same as the path specified in URL,
you can override getRealPath(java.lang.String)
.
Extendlet
Loader.Resource<V>
Modifier | Constructor and Description |
---|---|
protected |
ExtendletLoader() |
Modifier and Type | Method and 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) . |
protected java.lang.String getRealPath(java.lang.String 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).
path
- the path specified in URL.
Notice that it does NOT start with "~./". Rather it starts with
"/". For example, "/zul/css/zk.wcs".public boolean shallCheck(java.lang.String src, long expiredMillis)
Loader
Loader.getLastModified(K)
.
If false, it assumes the current cached content is up-to-date.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 > 0public long getLastModified(java.lang.String src)
getLastModified
in interface Loader<java.lang.String,V>
public V load(java.lang.String src) throws java.lang.Exception
Loader
The returned resource could be anything. It will be returned
by ResourceCache.get(java.lang.Object)
.
However, if you want to have more control (e.g., whether to cache),
you can return an instance
of Loader.Resource
. Then, the return value of ResourceCache.get(java.lang.Object)
will be Loader.Resource.resource
.
load
in interface Loader<java.lang.String,V>
java.lang.Exception
- you might throw any exception which will be
passed back to the caller of ResourceCache.get(java.lang.Object)
protected abstract V parse(java.io.InputStream is, java.lang.String path, java.lang.String orgpath) throws java.lang.Exception
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
.
is
- the content of the resourcepath
- the path of the resource.
It is the value returned by getRealPath(java.lang.String)
, so called
the real pathorgpath
- 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.java.lang.Exception
protected abstract ExtendletContext getExtendletContext()
public int getCheckPeriod()
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.
Copyright © 2005-2021 Potix Corporation. All Rights Reserved.