ovidiu 02/03/17 13:47:12
Added: src/scratchpad/schecoon/src/org/apache/cocoon/components/flow/javascript
JSCocoon.java
Log:
JavaScript representation of Cocoon abstractions.
Revision Changes Path
1.1
xml-cocoon2/src/scratchpad/schecoon/src/org/apache/cocoon/components/flow/javascript/JSCocoon.java
Index: JSCocoon.java
===================================================================
package org.apache.cocoon.components.flow.javascript;
import java.util.Map;
import org.apache.cocoon.components.flow.AbstractInterpreter;
import org.apache.cocoon.environment.Context;
import org.apache.cocoon.environment.Environment;
import org.apache.cocoon.environment.ObjectModelHelper;
import org.apache.cocoon.environment.Request;
import org.apache.cocoon.environment.Response;
import org.apache.log.Logger;
import org.mozilla.javascript.Function;
import org.mozilla.javascript.ScriptableObject;
/**
* JavaScript interface to various Cocoon abstractions.
*
* @author <a href="mailto:[EMAIL PROTECTED]">Ovidiu Predescu</a>
* @since March 16, 2002
*/
public class JSCocoon extends ScriptableObject
{
protected AbstractInterpreter interp;
protected Environment environment;
public JSCocoon() {}
public String getClassName()
{
return "Cocoon";
}
public void setInterpreter(AbstractInterpreter interp)
{
this.interp = interp;
}
public void setEnvironment(Environment environment)
{
this.environment = environment;
}
public AbstractInterpreter jsGet_interpreter()
{
return interp;
}
public Environment jsGet_environment()
{
return environment;
}
public Request jsGet_request()
{
Map objectModel = environment.getObjectModel();
return ObjectModelHelper.getRequest(objectModel);
}
public Response jsGet_response()
{
Map objectModel = environment.getObjectModel();
return ObjectModelHelper.getResponse(objectModel);
}
public Context jsGet_context()
{
Map objectModel = environment.getObjectModel();
return ObjectModelHelper.getContext(objectModel);
}
/**
* Load the file specified as argument. Registers the file with the
* interpreter and then forces its loading by calling {@link
* AbstractInterpreter#checkForModifiedScripts}.
*
* @param filename a <code>String</code> value
* @return an <code>Object</code> value
* @exception Exception if an error occurs
*/
public Object jsFunction_load(String filename)
throws Exception
{
try {
interp.register(filename);
interp.checkForModifiedScripts(environment);
}
catch (Exception ex) {
ex.printStackTrace();
throw ex;
}
return null;
}
}
----------------------------------------------------------------------
In case of troubles, e-mail: [EMAIL PROTECTED]
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]