/* ========================================================================= * * The Apache Software License, Version 1.1 * * ========================================================================= * * Copyright (C) 1999-2003 The Apache Software Foundation. * * All rights reserved. * * * * Redistribution and use in source and binary forms, with or without * * modification, are permitted provided that the following conditions are * * met: * * * * 1. Redistributions of source code must retain the above copyright notice, * * this list of conditions and the following disclaimer. * * * * 2. Redistributions in binary form must reproduce the above copyright * * notice, this list of conditions and the following disclaimer in the * * documentation and/or other materials provided with the distribution. * * * * 3. The end-user documentation included with the redistribution, if any, * * must include the following acknowledgment: * * * * "This product includes software developed by the * * Apache Software Foundation ." * * * * Alternately, this acknowledgment may appear in the software itself, if * * and wherever such third-party acknowledgments normally appear. * * * * 4. The names "Apache Cocoon" and "Apache Software Foundation" must not be * * used to endorse or promote products derived from this software without * * prior written permission. For written permission, please contact * * . * * * * 5. Products derived from this software may not be called "Apache", nor * * may "Apache" appear in their name, without prior written permission of * * the Apache Software Foundation. * * * * ------------------------------------------------------------------------- * * * * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES * * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY * * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL * * THE APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY * * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGE * * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVI- * * CES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER * * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABI- * * LITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT * * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH * * DAMAGE. * * * * This software consists of voluntary contributions made by many individua- * * ls on behalf of the Apache Software Foundation and was originally created * * by Stefano Mazzocchi . For more information * * about the Apache Software Foundation please see . * * * * ------------------------------------------------------------------------- */ /** *

* The Cocoon interface defines the main Cocoon liaison * available to flow scripts. *

*/ interface Cocoon { /** * The current Log instance used for logging. * (suggested by Jeremy Quinn). */ readonly attribute cocoon::Log log; /** * The current Request instance associated with this script. * (suggested by Stefano Mazzocchi) */ readonly attribute cocoon::Request request; /** * The current Context instance. * (suggested by Stefano Mazzocchi) *

NOTE: "context" is a reserved word in * IDL (at least it seems so). This name has been mangled accordingly * to allow IDLDoc to produce the documentation.

*/ readonly attribute cocoon::Context contxt; /** *

* Passes control to the Cocoon sitemap to generate the output page. *

*

* TODO: What happens when the control returns to a script which (for * example) calls again sendPage(AndWait)??? *

* * @param uri the relative URL of the page to be sent back to the client. * @param bean a context object which can be accessed inside this page to * extract various values and place them in the generated page. * @exception java::Exception If an error occurred attempting to send the * specified page. */ void sendPage(in string url, in Object bean) raises (java::Exception); /** *

* Passes control to the Cocoon sitemap to generate the output page, * interrupting the execution until another request comes in. *

*

* The flow script is suspended after the page is generated and the * whole execution stack saved in a Continuation. This * instance is returned to the caller once the next request triggers * the continuation of the current execution stack. *

*

* TODO: Explain in better English what exactly goes on here. *

* * @param uri the relative URL of the page to be sent back to the client. * @param bean a context object which can be accessed inside this page to * extract various values and place them in the generated page. * @param ttl The time to leave in milliseconds of the newly created * Continuation instance. * @exception java::Exception If an error occurred attempting to send the * specified page, or creating a new * Continuation instance. * @return The Continuation instance associated with this * current execution stack. */ cocoon::Continuation sendPageAndWait(in string url, in Object bean, in long ttl) raises (java::Exception); };