You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by ov...@apache.org on 2002/03/17 22:47:12 UTC

cvs commit: xml-cocoon2/src/scratchpad/schecoon/src/org/apache/cocoon/components/flow/javascript JSCocoon.java

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:ovidiu@cup.hp.com">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:     webmaster@xml.apache.org
To unsubscribe, e-mail:          cocoon-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: cocoon-cvs-help@xml.apache.org