* Move static methods down to the bottom of the file to circumvent
a strange bug that prevents documentation from being generated.
* Some JSDoc comment fixes
* Use and support helma.File as Mime part input source
* Remove code examples to make jsdoc actually render the comments
* Implement get/setMimepartType() methods
- any cookie received from the remote server will now be part of the result object returned by getUrl()
- added methods setCookie(), getCookie() and getCookies() for adding and retrieving cookies
* added JsDoc compatible inline documentation (due to a bug in JsDoc the static methods setProxy and getProxy don't show up in the generated docs)
* switched to using app.logger for log output
* renderMarkupPart and isSelected are no longer private methods, but static ones, so that the methods calling them can be defined as prototype properties
* adapted helma.Html.TableWriter to the new structure (had to use method.call() since there is no default instance of helma.Html
* added JsDoc compatible inline documentation
* Implement skin parameter handling via res.handlers.param
* Implement onResponse() callback
* Slim down renderSkin method implementation
* Implement res.buffer to access current page output
* Implement res.stop() to stop request execution
* Do not reuse per thread scope, create a new one for each request
seriously BROKEN for nested functions.
The only workaround needed is a little fix in HopObject.put() to set the
parent scope on functions because of the funky way we compile prototypes.
* Use one ContextFactory instance per RhinoCore to initialize, enter and exit
contexts, and use various call() methods to actually use it in RhinoCore.evaluate()
and RhinoEngine.invoke().
* Set parent scope in HopObject constructor.
* Use java.lang.ThreadLocal to implement engine/thread registration.
* Implement RhinoCore.getRhinoCore() and RhinoEngine.getRhinoEngine().
* Implement rhino.strictvars to throw errors on undeclared vars.
* Do not declare throws Exception in RhinoCore.processXmlRpc* methods.
* Clean up error logging.
* Delay onInit() invocation until after the node has been registered with the cache.
Two advantages: first, we won't call onInit() on nodes that are bound to be
thrown away because a clone already exists in the cache, and second no need
to cache nodes in the transactor clean node map, which was troublesome in
exactly the same case.
* Remove some old code that has been commented out for ages.