Package org.zkoss.zk.ui.http
Class WpdExtendlet
- java.lang.Object
-
- org.zkoss.zk.ui.http.WpdExtendlet
-
- All Implemented Interfaces:
Extendlet
public class WpdExtendlet extends java.lang.Object
The extendlet to handle WPD (Widget Package Descriptor).Note: it assumes all JavaScript files are encoded in UTF-8.
Bootstrapping
In additions to loading, WPD allows to bootstrap a JavaScript codes by specifying a parameter called main. For example, the following link
will cause the following to be executed<script type="text/javascript" src="/zkdemo/zkau/web/js/zk.wpd?main=foo.Go&what=12&more=xy" charset="UTF-8"> </script>
In other words, it loads the package calledzk.load('foo', function() {foo.Go.main({what: '123', more: 'xy'})});
foo
, and then invoke themain
method of thefoo.Go
class.- Since:
- 5.0.0
- Author:
- tomyeh
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
SOURCE_MAP_JAVASCRIPT_PATH
-
Fields inherited from interface org.zkoss.web.util.resource.Extendlet
ALLOW_DIRECT_INCLUDE
-
-
Constructor Summary
Constructors Constructor Description WpdExtendlet()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.lang.String
getDeviceType()
Returns the device type for this WpdExtendlet.boolean
getFeature(int feature)
Returns if the specified feature is supported.ScriptManager
getScriptManager()
void
init(ExtendletConfig config)
Initializes the resource processor.boolean
isDebugJS()
Returns whether to generate JS files that is easy to debug.protected byte[]
mergeJavaScript(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.String pkgTo, byte[] data)
Merges the JavaScript code of the mergeable packages defined inLanguageDefinition.getMergedJavaScriptPackages(java.lang.String)
.protected byte[]
retrieve(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.String path)
Retrieves the content of the given path.void
service(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.String path)
Process the specified request.void
setDebugJS(boolean debugJS)
Sets whether to generate JS files that is easy to debug.java.util.List<java.lang.String>
splitSourceMapJsPathIfAny(java.lang.String path)
Internal use only (since 10.0.0)
-
-
-
Field Detail
-
SOURCE_MAP_JAVASCRIPT_PATH
public static final java.lang.String SOURCE_MAP_JAVASCRIPT_PATH
- See Also:
- Constant Field Values
-
-
Method Detail
-
init
public void init(ExtendletConfig config)
Description copied from interface:Extendlet
Initializes the resource processor.
-
service
public void service(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.String path) throws javax.servlet.ServletException, java.io.IOException
Description copied from interface:Extendlet
Process the specified request.path
- the path mapped to this resource processor.- Throws:
javax.servlet.ServletException
java.io.IOException
-
retrieve
protected byte[] retrieve(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.String path) throws javax.servlet.ServletException, java.io.IOException
Retrieves the content of the given path.- Throws:
javax.servlet.ServletException
java.io.IOException
- Since:
- 5.0.4
-
getDeviceType
protected java.lang.String getDeviceType()
Returns the device type for this WpdExtendlet.Default: ajax. The derived class might override it to implement a Wpd extendlet for other devices.
- Since:
- 5.0.4
-
mergeJavaScript
protected byte[] mergeJavaScript(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.String pkgTo, byte[] data) throws javax.servlet.ServletException, java.io.IOException
Merges the JavaScript code of the mergeable packages defined inLanguageDefinition.getMergedJavaScriptPackages(java.lang.String)
.- Throws:
javax.servlet.ServletException
java.io.IOException
- Since:
- 5.0.4.
-
getScriptManager
public ScriptManager getScriptManager()
-
splitSourceMapJsPathIfAny
public java.util.List<java.lang.String> splitSourceMapJsPathIfAny(java.lang.String path) throws java.lang.Exception
Internal use only (since 10.0.0)- Throws:
java.lang.Exception
-
setDebugJS
public void setDebugJS(boolean debugJS)
Sets whether to generate JS files that is easy to debug.
-
isDebugJS
public boolean isDebugJS()
Returns whether to generate JS files that is easy to debug.
-
getFeature
public boolean getFeature(int feature)
Description copied from interface:Extendlet
Returns if the specified feature is supported.- Specified by:
getFeature
in interfaceExtendlet
-
-