|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.zkoss.web.util.resource.ExtendletLoader<V>
public abstract class ExtendletLoader<V>
A skeletal implementation of the loader used to implement an extendlet.
All you have to do is to implement 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| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from interface org.zkoss.util.resource.Loader |
|---|
Loader.Resource<V> |
| Constructor Summary | |
|---|---|
protected |
ExtendletLoader()
|
| Method Summary | |
|---|---|
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 |
|---|
protected ExtendletLoader()
| Method Detail |
|---|
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)
LoaderLoader.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
LoaderThe 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.Exceptionprotected 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.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||