pier        2003/03/08 11:53:16

  Modified:    src/idl/cocoon_flow cocoon_flow.idl
  Added:       src/idl/cocoon_flow Cocoon.idl Database.idl Global.idl
                        Log.idl Result.idl WebContinuation.idl XForm.idl
  Log:
  Splitting the "cocoon_flow" module into several little pieces for enhanced
  readability.
  
  Revision  Changes    Path
  1.9       +143 -444  xml-cocoon2/src/idl/cocoon_flow/cocoon_flow.idl
  
  Index: cocoon_flow.idl
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/idl/cocoon_flow/cocoon_flow.idl,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- cocoon_flow.idl   8 Mar 2003 18:48:39 -0000       1.8
  +++ cocoon_flow.idl   8 Mar 2003 19:53:16 -0000       1.9
  @@ -1,3 +1,60 @@
  +/* ========================================================================= *
  + *                   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 <http://www.apache.org/>."          *
  + *                                                                           *
  + *    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 *
  + *    <mailto:[EMAIL PROTECTED]>.                                            *
  + *                                                                           *
  + * 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  <mailto:[EMAIL PROTECTED]>.  For more information *
  + * about the Apache Software Foundation please see <http://www.apache.org/>. *
  + *                                                                           *
  + * ------------------------------------------------------------------------- */
  +
  +
   /**
    * <p>
    *   The general flow of actions in an application which uses the control flow
  @@ -55,35 +112,35 @@
    * </p>
    *
    * <p>
  - *   Once here, the Controller has to decide which page needs to be sent back 
  - *   to the client browser. To do this, the script can invoke either the 
  - *   <code>sendPage</code> or the <code>sendPageAndContinue</code> functions. 
  - *   These functions take two parameters, the relative URL of the page to be 
  - *   sent back to the client, and a context object which can be accessed 
  - *   inside this page to extract various values and place them in the 
  + *   Once here, the Controller has to decide which page needs to be sent back
  + *   to the client browser. To do this, the script can invoke either the
  + *   <code>sendPage</code> or the <code>sendPageAndContinue</code> functions.
  + *   These functions take two parameters, the relative URL of the page to be
  + *   sent back to the client, and a context object which can be accessed
  + *   inside this page to extract various values and place them in the
    *   generated page.
    * </p>
    *
    * <p>
  - *   The second argument to <code>sendPage</code> and 
  - *   <code>sendPageAndContinue</code> is a context object, which can be a 
  - *   simple dictionary with values that need to be displayed by the View. More 
  - *   generally any Java or JavaScript object can be passed here, as long as 
  + *   The second argument to <code>sendPage</code> and
  + *   <code>sendPageAndContinue</code> is a context object, which can be a
  + *   simple dictionary with values that need to be displayed by the View. More
  + *   generally any Java or JavaScript object can be passed here, as long as
    *   the necessary get methods for the important values are provided.
    * </p>
    *
    * <p>
  - *   The page specified by the URL is processed by the sitemap, using the 
  - *   normal sitemap rules. The simplest case is an XSP generator followed by 
  - *   an XSLT transformation and a serializer. This page generation is part of 
  - *   the View layer. If an XSP page is processed, you can make use of JXPath 
  - *   elements to retrieve values from the context objects passed by the 
  + *   The page specified by the URL is processed by the sitemap, using the
  + *   normal sitemap rules. The simplest case is an XSP generator followed by
  + *   an XSLT transformation and a serializer. This page generation is part of
  + *   the View layer. If an XSP page is processed, you can make use of JXPath
  + *   elements to retrieve values from the context objects passed by the
    *   Controller.
    * </p>
    *
    * <p>
  - *   The JXPath elements mirror similar XSLT constructions, except that 
  - *   instead of operating on an XML document, operate on a Java or JavaScript 
  + *   The JXPath elements mirror similar XSLT constructions, except that
  + *   instead of operating on an XML document, operate on a Java or JavaScript
    *   object. The JXPath logicsheet has constructs like
    *   <ul>
    *     <li><code>jpath:if</code>,</li>
  @@ -93,47 +150,47 @@
    *     <li><code>jpath:value-of</code> and</li>
    *     <li><code>jpath:for-each</code>,</li>
    *   </ul>
  - *   which know how to operate on hierarchies of nested Java objects. 
  - *   Historically the namespace is called <em>jpath</em> instead of 
  - *   <em>jxpath</em>, we'll probably change it to the latter before the next 
  + *   which know how to operate on hierarchies of nested Java objects.
  + *   Historically the namespace is called <em>jpath</em> instead of
  + *   <em>jxpath</em>, we'll probably change it to the latter before the next
    *   major release.
    * </p>
    *
    * <p>
  - *   A special instruction, <code>jpath:continuation</code> returns the id of 
  - *   the continuation that restarts the processing from the last point. It can 
  - *   actually retrieve ids of earlier continuations, which represent previous 
  - *   stopped points, but I'm not discussing about this here to keep things 
  + *   A special instruction, <code>jpath:continuation</code> returns the id of
  + *   the continuation that restarts the processing from the last point. It can
  + *   actually retrieve ids of earlier continuations, which represent previous
  + *   stopped points, but I'm not discussing about this here to keep things
    *   simple.
    * </p>
    *
    * <p>
    *   Going back to the <code>sendPage</code> and
    *   <code>sendPageAndContinue</code> functions, there is a big difference
  - *   between them. The first function will send the response back to the 
  - *   client browser, and will stop the processing of the JavaScript script by 
  - *   saving it into a continuation object. The other function, 
  - *   <code>sendPageAndContinue</code> will send the response, but it will not 
  - *   stop the computation. This is useful for example when you need to exit a 
  + *   between them. The first function will send the response back to the
  + *   client browser, and will stop the processing of the JavaScript script by
  + *   saving it into a continuation object. The other function,
  + *   <code>sendPageAndContinue</code> will send the response, but it will not
  + *   stop the computation. This is useful for example when you need to exit a
    *   top-level JavaScript function invoked with
    *   <code>&lt;map:call&nbsp;function="..."/&gt;</code>.
    * </p>
    *
    * <p>
  - *   The above explains how MVC could be really achieved in Cocoon with the 
  - *   control flow layer. Note that there is no direct communication between 
  - *   Model and View, everything is directed by the Controller by passing to 
  - *   View a context object constructed from Model data. In a perfect world, 
  - *   XSP should have only one logicsheet, the JXPath logicsheet. There should 
  - *   be no other things in an XSP page that put logic in the page (read View), 
  - *   instead of the Model. If you don't like XSP, and prefer to use JSP or 
  + *   The above explains how MVC could be really achieved in Cocoon with the
  + *   control flow layer. Note that there is no direct communication between
  + *   Model and View, everything is directed by the Controller by passing to
  + *   View a context object constructed from Model data. In a perfect world,
  + *   XSP should have only one logicsheet, the JXPath logicsheet. There should
  + *   be no other things in an XSP page that put logic in the page (read View),
  + *   instead of the Model. If you don't like XSP, and prefer to use JSP or
    *   Velocity, the JXPath logicsheet equivalents should be implemented.
    * </p>
    *
    * <h4>Basic usage</h4>
    *
    * <p>
  - *   As hinted in the previous section, an application using Cocoon's MVC 
  + *   As hinted in the previous section, an application using Cocoon's MVC
    *   approach is composed of three layers:
    *   <ul>
    *     <li>
  @@ -149,23 +206,23 @@
    *     </li>
    *   </ul>
    * </p>
  - * 
  + *
    * <p>
  - *   In more complex applications, the flow of pages can be thought of smaller 
  - *   sequences of pages which are composed together. The natural analogy is to 
  - *   describe these sequences in separate JavaScript functions, which can then 
  + *   In more complex applications, the flow of pages can be thought of smaller
  + *   sequences of pages which are composed together. The natural analogy is to
  + *   describe these sequences in separate JavaScript functions, which can then
    *   be called either from the sitemap, can call each other freely.
    * </p>
  - * 
  + *
    * <p>
  - *   An example of such an application is the user login and preferences 
  + *   An example of such an application is the user login and preferences
    *   sample I've just checked into the
    *   <a 
href="http://cvs.apache.org/viewcvs.cgi/xml-cocoon2/src/webapp/samples/flow/examples/prefs";
    *   >Cocoon CVS</a>
    * </p>
  - * 
  + *
    * <p>
  - *   This application is composed of four top-level JavaScript functions: 
  + *   This application is composed of four top-level JavaScript functions:
    *   <ul>
    *     <li><code>login</code>,</li>
    *     <li><code>registerUser</code>,</li>
  @@ -173,47 +230,47 @@
    *     <li><code>logout</code>.</li>
    *   </ul>
    * </p>
  - * 
  + *
    * <p>
  - *   The entry level point in the application can be any of these functions, 
  - *   but in order for a user to use the application, (s)he must login first. 
  - *   Once the user logs in, we want to maintain the Java User object which 
  + *   The entry level point in the application can be any of these functions,
  + *   but in order for a user to use the application, (s)he must login first.
  + *   Once the user logs in, we want to maintain the Java User object which
    *   represents the user between top-level function invocations.
    * </p>
  - * 
  + *
    * <p>
  - *   If the script does nothing, each invocation of a top-level function 
  - *   starts with fresh values for the global variables, no global state is 
  - *   preserved between top-level function invocations from the sitemap. In 
  - *   this sample for example, the <code>login</code> function assigns to the 
  - *   global variable <em>user</em> the Java User object representing the 
  - *   logged in user. The <code>edit</code> function trying to operate on this 
  - *   object would get a null value instead, because the value is not shared by 
  + *   If the script does nothing, each invocation of a top-level function
  + *   starts with fresh values for the global variables, no global state is
  + *   preserved between top-level function invocations from the sitemap. In
  + *   this sample for example, the <code>login</code> function assigns to the
  + *   global variable <em>user</em> the Java User object representing the
  + *   logged in user. The <code>edit</code> function trying to operate on this
  + *   object would get a null value instead, because the value is not shared by
    *   default between these top-level function invocations.
    * </p>
  - * 
  + *
    * <p>
    *   To solve the problem, the <code>login</code> and
    *   <code>registerUser</code> functions have to call the
  - *   <code>cocoon.createSession()</code> method, which creates a servlet 
  - *   session and saves the global scope containing the global variables' value 
  - *   in it. Next time the user invokes one of the four top-level functions, 
  + *   <code>cocoon.createSession()</code> method, which creates a servlet
  + *   session and saves the global scope containing the global variables' value
  + *   in it. Next time the user invokes one of the four top-level functions,
    *   the values of the global variables is restored, making sharing very easy.
    * </p>
  - * 
  + *
    * <p>
  - *   Even if you don't need complex control flow in your application, you may 
  + *   Even if you don't need complex control flow in your application, you may
    *   still choose to use the MVC pattern described above. You can have top-
  - *   level JavaScript functions which obtain the request parameters, invoke 
  - *   the business logic and then call <code>sendPageAndContinue</code> to 
  - *   generate a response page and return from the computation. Since there's 
  - *   no continuation object being created by this function, and no global 
  - *   scope being saved, there's no memory resource being eaten. The approach 
  - *   provides a clean way of separating logic and content, and makes things 
  - *   easy to follow, since you have to look at a single script to understand 
  + *   level JavaScript functions which obtain the request parameters, invoke
  + *   the business logic and then call <code>sendPageAndContinue</code> to
  + *   generate a response page and return from the computation. Since there's
  + *   no continuation object being created by this function, and no global
  + *   scope being saved, there's no memory resource being eaten. The approach
  + *   provides a clean way of separating logic and content, and makes things
  + *   easy to follow, since you have to look at a single script to understand
    *   what's going on.
    * </p>
  - * 
  + *
    * <p>
    *   Originally taken from
    *   <a href="http://www.webweavertech.com/ovidiu/weblog/archives/000042.html";
  @@ -238,379 +295,21 @@
    */
   
   module cocoon_flow {
  -    
  -    /**
  -     * Representation of continuations in a Web environment.
  -     *
  -     * <p>Because a user may click on the back button of the browser and
  -     * restart a saved computation in a continuation, each
  -     * <code>WebContinuation</code> becomes the parent of a subtree of
  -     * continuations.</p>
  -     *
  -     * <p>If there is no parent <code>WebContinuation</code>, the created
  -     * continuation becomes the root of a tree of
  -     * <code>WebContinuation</code>s.</p>
  -     */
  -    interface WebContinuation {
  -        /**
  -         * Unguessable unique identifier of this object
  -         */
  -        readonly attribute string id;
  -        /**
  -         * Current continuation
  -         */
  -        readonly attribute cocoon::Continuation continuation;
  -        /**
  -         * Deletes this continuation together with all of its children
  -         */
  -        void invalidate();
  -        /**
  -         * Debugging aid that displays the tree of continuations rooted
  -         * in this object
  -         */
  -        void display();
  -    };
  -
  -    /**
  -     * Interface to the Cocoon log facility.
  -     */
  -    interface Log {
  -        /**
  -         * Log a debug message
  -         * @param message the message
  -         */
  -        void debug(in string message);
  -        /**
  -         * Log an information message
  -         * @param message the message
  -         */
  -        void info(in string message);
  -        /**
  -         * Log a warning message
  -         * @param message the message
  -         */
  -        void warn(in string message);
  -        /**
  -         * Log an error message
  -         * @param message the message
  -         */
  -        void error(in string message);
  -    };
  -
  -    /**
  -     * Top level object
  -     */
  -    interface Global {
  -
  -        /**
  -         * Reference to the logging facility
  -         */
  -        readonly attribute Log log;
  -        
  -        /** 
  -         * Prints a message on standard out followed by a newline
  -         * @param message message to be printed
  -         */
  -        
  -        void print(in string message);
  -        
  -        /** 
  -         * Passes control to the Cocoon sitemap to generate the output page
  -         * @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
  -         */
  -        void sendPage(in string uri, in Object bean);
  -        
  -        /** 
  -         * Passes control to the Cocoon sitemap to generate the output page. 
  -         * <p>The flow script is suspended after the page is generated and the 
whole execution stack saved in a Continuation object </p>
  -         * @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 timeToLive time to live for the continuation created 
  -         * @return the continuation
  -         */
  -        WebContinuation sendPageAndWait(in string uri, in Object bean, in long 
timeToLive);
  -
  -        // Action Support
  -
  -        /**
  -         * Call an action from JS
  -         */
  -        void act(in string type, in string source, in Object parameters);
  -
  -        // InputModule Support
  -
  -        /**
  -         * Obtain value from InputModule
  -         * @param type
  -         * @param attribute_
  -         */
  -        Object inputValue(in string type, in string attribute_);
  -
  -        // OutputModule Support
  -
  -        /** 
  -         * Set an attribute (starts transaction, commit or rollback required!)
  -         * @param type (not sure)
  -         * @param attribute_ (not sure)
  -         * @param value (not sure)
  -         */
  -        void outputSet(in string type, in string attribute_, in Object value);
  -        /**
  -         * Makes attributes permanent (ends transaction)
  -         * @param type (not sure)
  -         */
  -        void outputCommit(in string type);
  -
  -        /**
  -         * Deletes attributes (ends transaction)
  -         * @param type (not sure)
  -         */
  -        void outputRollback(in string type);
  -
  -        /**
  -         * Entry point to a flow-based XMLForm application. Replaces the 
functionality
  -         * of XMLForm actions.
  -         * @param application Name of a JavaScript function that represents the 
page flow for a form
  -         * @param id form id
  -         * @param validator_ns XML namespace of validator
  -         * @param validator_doc validator document
  -         */
  -        
  -        void xmlForm(in string application, 
  -                     in string id, in string validator_ns, 
  -                     in string validator_doc);
  -    };
  -
  -    /**
  -     * Interface to various Cocoon abstractions.
  -     */
  -    interface Cocoon {
  -        
  -        readonly attribute cocoon::Request request;
  -        readonly attribute cocoon::Response response;
  -        readonly attribute cocoon::Session session;
  -        readonly attribute cocoon::Context_ context_;
  -        readonly attribute cocoon::Environment environment;
  -        readonly attribute cocoon::ComponentManager componentManager;
  -        readonly attribute cocoon::StringArray parameters;
  -        
  -        
  -        /**
  -         * Call the Cocoon sitemap for the given URI, sending the output of the
  -         * eventually matched pipeline to the specified outputstream.
  -         *
  -         * @param uri The URI for which the request should be generated.
  -         * @param biz Extra data associated with the subrequest.
  -         * @param out An OutputStream where the output should be written to.
  -         * @return Whatever the Cocoon processor returns (????).
  -         * @exception Exception If an error occurs.
  -         */
  -        boolean process(in string uri, in Object object, in cocoon::OutputStream 
stream);
  -        
  -        /**
  -         *  Set the Scope object in the session object of the current
  -         *  user. This effectively means that at the next invocation from the
  -         *  sitemap of a JavaScript function (using the &lt;map:call
  -         *  function="..."&gt;), will obtain the same scope as the current
  -         *  one.
  -         */
  -        void createSession();
  -        
  -        /**
  -         *  Remove the Scope object from the session object of the current
  -         *  user.
  -         */
  -        void removeSession();
  -        
  -
  -        /**
  -         * Forward the request to a Cocoon pipeline.
  -         *
  -         * @param URI a <code>String</code>, the URI of the forwarded request
  -         * @param bizData an <code>Object</code>, the business data object
  -         * to be made available to the forwarded pipeline
  -         * @param continuation a <code>WebContinuation</code>, the
  -         * continuation to be called to resume the processing
  -         */
  -        void forwardTo(in string uri, in Object bizData, in WebContinuation 
continuation);
  -
  -        /**
  -         * Load the file specified as argument.
  -         * @param filename a <code>String</code> value
  -         * @return an <code>Object</code> value
  -         */
  -
  -        Object load(in string filename);
  -
  -        /**
  -         * Dump to Log file all <code>WebContinuation</code>s 
  -         * in the system
  -         */
  -        void displayAllContinuations();
  -        
  -        /**
  -         * Call an action from JS
  -         */
  -        void callAction(in string type, in string source, in Object parameters);
  -        /**
  -         * Obtain value from InputModule
  -         * @param type (not sure)
  -         * @param attribute_ (not sure)
  -         */
  -        Object inputModuleGetAttribute(in string type, in string attribute_);
  -
  -        /** 
  -         * Set an attribute (starts transaction, commit or rollback required!)
  -         * @param type (not sure)
  -         * @param attribute_ (not sure)
  -         * @param value (not sure)
  -         */
  -        void outputModuleSetAttribute(in string type, in string attribute_, in 
Object value);
  -
  -        /**
  -         * Makes attributes permanent (ends transaction)
  -         * @param type (not sure)
  -         */
  -        void outputModuleCommit(in string type);
  -
  -        /**
  -         * Deletes attributes (ends transaction)
  -         * @param type (not sure)
  -         */
  -        void outputModuleRollback(in string type);
  -        
  -    };
  -    
  -    /**
  -     * Interface to Cocoon XMLForm
  -     */
  -
  -    interface XForm {
  -
  -
  -        /**
  -         * Creates a new JavaScript wrapper of a Form object
  -         * @see org.apache.cocoon.components.xmlform.Form
  -         * @param id form id
  -         * @param validatorNS Namespace of validator
  -         * @param validatorDoc Validator document
  -         */
  -        cocoon::XForm constructor(in string form_id, in string validator_namespace, 
in string validator_document);
  -        
  -        /**
  -         * Global variable that stores XForm instances by id
  -         */
  -        readonly attribute cocoon::XForms forms;
  -        
  -        /** 
  -         * The model object of this form: any Java bean, JavaScript, DOM, or JDOM 
object 
  -         */
  -        readonly attribute Object model;
  -
  -        
  -        /**
  -         * Creates a new web continuation
  -         * @param lastCont previous web continuation
  -         * @param timeToLive expiration time for this continuation
  -         */
  -        
  -        WebContinuation start(in WebContinuation lastCont, in long timeToLive);
  -
  -        /**
  -         * Adds a violation to this form
  -         * @param xpath xpath expression of field that contains invalid data
  -         * @param message error message
  -         */
  -        void addViolation(in string xpath, in string message);
  -
  -        /**
  -         * Computes the value of an xpath expression against the model of this form
  -         * @param expr xpath expression
  -         * @return result of computing <code>expr</code>
  -         */
  -        Object getValue(in string expr);
  -
  -        /**
  -         * Returns an iterator over a nodeset value of an xpath expression 
  -         * evaluated against the model of this form
  -         * @param expr xpath expression
  -         * @return java.util.Iterator representing a nodeset 
  -         */
  -         cocoon::Iterator iterate(in string expr);
  -
  -        /**
  -         * Sends view to presentation pipeline and waits for subsequent submission.
  -         * Automatically resends view if validation fails.
  -         * Creates two continuations: one immediately before the page is sent 
  -         * and one immediately after. These are used to implement automated support
  -         * for back/forward navigation in the form. When you move forward in the
  -         * form the second continuation is invoked. When you move back from the
  -         * following page the first continuation is invoked.
  -         * @param phase view to send (and phase to validate)
  -         * @param uri presentation pipeline resource identifier
  -         * @param validator optional function invoked to perform validation
  -         */
  -        void sendView(in string phase, in string uri, in cocoon::Function 
validator);
  -
  -        /**
  -         * Sends view to presentation pipeline but doesn't wait for submission
  -         * @param view view to send
  -         * @param uri presentation pipeline uri
  -         */
  -
  -        void finish(in string view, in string uri);
  -    };
  -
  -    /**
  -     * Object returned by a database query
  -     */
  -
  -    interface Result {
  -        /**
  -         * An array with a case-insensitive object per row with properties matching 
column names and values matching column values.
  -         */
  -        readonly attribute cocoon::Rows rows;
  -        /**
  -         * An array with an array per row of column values
  -         */
  -        readonly attribute cocoon::RowsByIndex rowsByIndex;
  -        /**
  -         * An array of column names
  -         */
  -        readonly attribute cocoon::StringArray columnNames;
  -        /**
  -         * Number of rows returned
  -         */
  -        readonly attribute long rowCount;
  -        /**
  -         * True if not all rows are included due to reaching a maximum value
  -         */
  -        readonly attribute boolean isLimitedByMaxRows;
  -    };
  -
  -    /**
  -     * High level interface to JDBC operations modeled after JSTL
  -     */
  -
  -    interface Database {
  -
  -        /**
  -         * Used to execute INSERT, UPDATE, and DELETE statements, as well as 
statements that create or remove database objects, such as CREATE TABLE and DROP 
TABLE. It returns the number of rows affected by the statement.
  -         * @param sql SQL statement to execute
  -         * @return the number of rows affected
  -         */
  -        long update(in string sql);
  -
  -        /**
  -         * Executes a SQL SELECT statement. You can limit the result with startRow 
and maxRows (which are optional). 
  -         * @param sql SQL statement to execute
  -         * @param startRow first row to be returned in result
  -         * @param maxRows maximum number of rows to return in result
  -         * @return Result: contains the same properties as in JSTL.
  -         */ 
  -        Result query(in string sql, in long startRow, in long maxRows);
   
  -    };
  +    interface Cocoon;
  +    interface Database;
  +    interface Global;
  +    interface Log;
  +    interface Result;
  +    interface WebContinuation;
  +    interface XForm;
  +
  +    #include "cocoon_flow/Cocoon.idl"
  +    #include "cocoon_flow/Database.idl"
  +    #include "cocoon_flow/Global.idl"
  +    #include "cocoon_flow/Log.idl"
  +    #include "cocoon_flow/Result.idl"
  +    #include "cocoon_flow/WebContinuation.idl"
  +    #include "cocoon_flow/XForm.idl"
   
   };
  
  
  
  1.1                  xml-cocoon2/src/idl/cocoon_flow/Cocoon.idl
  
  Index: Cocoon.idl
  ===================================================================
  /* ========================================================================= *
   *                   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 <http://www.apache.org/>."          *
   *                                                                           *
   *    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 *
   *    <mailto:[EMAIL PROTECTED]>.                                            *
   *                                                                           *
   * 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  <mailto:[EMAIL PROTECTED]>.  For more information *
   * about the Apache Software Foundation please see <http://www.apache.org/>. *
   *                                                                           *
   * ------------------------------------------------------------------------- */
  
  
  /**
   * <p>
   *   Interface to various Cocoon abstractions.
   * </p>
   *
   * <p>
   *   <dl>
   *     <dt><b>Authors:</b></dt>
   *     <dd>
   *       <a href="mailto:coliver AT apache.org">Christopher Oliver</a>.
   *     </dd>
   *     <dt><b>Copyright:</b></dt>
   *     <dd>
   *       Copyright &copy; 2002-2003
   *       <a href="http://www.apache.org/";>The Apache Software Foundation</a>.
   *       All rights reserved.
   *     </dd>
   *   </dl>
   * </p>
   */
  interface Cocoon {
  
      readonly attribute cocoon::Request request;
      readonly attribute cocoon::Response response;
      readonly attribute cocoon::Session session;
      readonly attribute cocoon::Context_ context_;
      readonly attribute cocoon::Environment environment;
      readonly attribute cocoon::ComponentManager componentManager;
      readonly attribute cocoon::StringArray parameters;
  
  
      /**
       * Call the Cocoon sitemap for the given URI, sending the output of the
       * eventually matched pipeline to the specified outputstream.
       *
       * @param uri The URI for which the request should be generated.
       * @param biz Extra data associated with the subrequest.
       * @param out An OutputStream where the output should be written to.
       * @return Whatever the Cocoon processor returns (????).
       * @exception Exception If an error occurs.
       */
      boolean process(in string uri, in Object object, in cocoon::OutputStream stream);
  
      /**
       *  Set the Scope object in the session object of the current
       *  user. This effectively means that at the next invocation from the
       *  sitemap of a JavaScript function (using the &lt;map:call
       *  function="..."&gt;), will obtain the same scope as the current
       *  one.
       */
      void createSession();
  
      /**
       *  Remove the Scope object from the session object of the current
       *  user.
       */
      void removeSession();
  
  
      /**
       * Forward the request to a Cocoon pipeline.
       *
       * @param URI a <code>String</code>, the URI of the forwarded request
       * @param bizData an <code>Object</code>, the business data object
       * to be made available to the forwarded pipeline
       * @param continuation a <code>WebContinuation</code>, the
       * continuation to be called to resume the processing
       */
      void forwardTo(in string uri, in Object bizData, in WebContinuation 
continuation);
  
      /**
       * Load the file specified as argument.
       * @param filename a <code>String</code> value
       * @return an <code>Object</code> value
       */
  
      Object load(in string filename);
  
      /**
       * Dump to Log file all <code>WebContinuation</code>s
       * in the system
       */
      void displayAllContinuations();
  
      /**
       * Call an action from JS
       */
      void callAction(in string type, in string source, in Object parameters);
      /**
       * Obtain value from InputModule
       * @param type (not sure)
       * @param attribute_ (not sure)
       */
      Object inputModuleGetAttribute(in string type, in string attribute_);
  
      /**
       * Set an attribute (starts transaction, commit or rollback required!)
       * @param type (not sure)
       * @param attribute_ (not sure)
       * @param value (not sure)
       */
      void outputModuleSetAttribute(in string type, in string attribute_, in Object 
value);
  
      /**
       * Makes attributes permanent (ends transaction)
       * @param type (not sure)
       */
      void outputModuleCommit(in string type);
  
      /**
       * Deletes attributes (ends transaction)
       * @param type (not sure)
       */
      void outputModuleRollback(in string type);
  
  };
  
  
  
  1.1                  xml-cocoon2/src/idl/cocoon_flow/Database.idl
  
  Index: Database.idl
  ===================================================================
  /* ========================================================================= *
   *                   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 <http://www.apache.org/>."          *
   *                                                                           *
   *    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 *
   *    <mailto:[EMAIL PROTECTED]>.                                            *
   *                                                                           *
   * 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  <mailto:[EMAIL PROTECTED]>.  For more information *
   * about the Apache Software Foundation please see <http://www.apache.org/>. *
   *                                                                           *
   * ------------------------------------------------------------------------- */
  
  
  /**
   * <p>
   *   High level interface to JDBC operations modeled after JSTL.
   * </p>
   *
   * <p>
   *   <dl>
   *     <dt><b>Authors:</b></dt>
   *     <dd>
   *       <a href="mailto:coliver AT apache.org">Christopher Oliver</a>.
   *     </dd>
   *     <dt><b>Copyright:</b></dt>
   *     <dd>
   *       Copyright &copy; 2002-2003
   *       <a href="http://www.apache.org/";>The Apache Software Foundation</a>.
   *       All rights reserved.
   *     </dd>
   *   </dl>
   * </p>
   */
  interface Database {
  
      /**
       * Used to execute INSERT, UPDATE, and DELETE statements, as well as statements 
that create or remove database objects, such as CREATE TABLE and DROP TABLE. It 
returns the number of rows affected by the statement.
       * @param sql SQL statement to execute
       * @return the number of rows affected
       */
      long update(in string sql);
  
      /**
       * Executes a SQL SELECT statement. You can limit the result with startRow and 
maxRows (which are optional).
       * @param sql SQL statement to execute
       * @param startRow first row to be returned in result
       * @param maxRows maximum number of rows to return in result
       * @return Result: contains the same properties as in JSTL.
       */
      Result query(in string sql, in long startRow, in long maxRows);
  
  };
  
  
  
  1.1                  xml-cocoon2/src/idl/cocoon_flow/Global.idl
  
  Index: Global.idl
  ===================================================================
  /* ========================================================================= *
   *                   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 <http://www.apache.org/>."          *
   *                                                                           *
   *    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 *
   *    <mailto:[EMAIL PROTECTED]>.                                            *
   *                                                                           *
   * 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  <mailto:[EMAIL PROTECTED]>.  For more information *
   * about the Apache Software Foundation please see <http://www.apache.org/>. *
   *                                                                           *
   * ------------------------------------------------------------------------- */
  
  
  /**
   * <p>
   *   The top level object.
   * </p>
   *
   * <p>
   *   <dl>
   *     <dt><b>Authors:</b></dt>
   *     <dd>
   *       <a href="mailto:coliver AT apache.org">Christopher Oliver</a>.
   *     </dd>
   *     <dt><b>Copyright:</b></dt>
   *     <dd>
   *       Copyright &copy; 2002-2003
   *       <a href="http://www.apache.org/";>The Apache Software Foundation</a>.
   *       All rights reserved.
   *     </dd>
   *   </dl>
   * </p>
   */
  interface Global {
  
      /**
       * Reference to the logging facility.
       */
      readonly attribute Log log;
  
      /**
       * Prints a message on standard out followed by a newline.
       *
       * @param message message to be printed
       */
  
      void print(in string message);
  
      /**
       * Passes control to the Cocoon sitemap to generate the output page.
       *
       * @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.
       */
      void sendPage(in string uri, in Object bean);
  
      /**
       * Passes control to the Cocoon sitemap to generate the output page.
       *
       * <p>The flow script is suspended after the page is generated and the whole 
execution stack saved in a Continuation object </p>
       * @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 timeToLive time to live for the continuation created
       * @return the continuation
       */
      WebContinuation sendPageAndWait(in string uri, in Object bean, in long 
timeToLive);
  
      // Action Support
  
      /**
       * Call an action from JS
       */
      void act(in string type, in string source, in Object parameters);
  
      // InputModule Support
  
      /**
       * Obtain value from InputModule
       * @param type
       * @param attribute_
       */
      Object inputValue(in string type, in string attribute_);
  
      // OutputModule Support
  
      /**
       * Set an attribute (starts transaction, commit or rollback required!)
       * @param type (not sure)
       * @param attribute_ (not sure)
       * @param value (not sure)
       */
      void outputSet(in string type, in string attribute_, in Object value);
  
      /**
       * Makes attributes permanent (ends transaction)
       * @param type (not sure)
       */
      void outputCommit(in string type);
  
      /**
       * Deletes attributes (ends transaction)
       * @param type (not sure)
       */
      void outputRollback(in string type);
  
      /**
       * <p>
       * Entry point to a flow-based XMLForm application. Replaces the functionality
       * of XMLForm actions.
       * @param application Name of a JavaScript function that represents the page 
flow for a form
       * @param id form id
       * @param validator_ns XML namespace of validator
       * @param validator_doc validator document
       */
      void xmlForm(in string application,
                   in string id, in string validator_ns,
                   in string validator_doc);
  };
  
  
  
  1.1                  xml-cocoon2/src/idl/cocoon_flow/Log.idl
  
  Index: Log.idl
  ===================================================================
  /* ========================================================================= *
   *                   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 <http://www.apache.org/>."          *
   *                                                                           *
   *    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 *
   *    <mailto:[EMAIL PROTECTED]>.                                            *
   *                                                                           *
   * 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  <mailto:[EMAIL PROTECTED]>.  For more information *
   * about the Apache Software Foundation please see <http://www.apache.org/>. *
   *                                                                           *
   * ------------------------------------------------------------------------- */
  
  
  /**
   * <p>
   *   Interface to the Cocoon log facility.
   * </p>
   *
   * <p>
   *   <dl>
   *     <dt><b>Authors:</b></dt>
   *     <dd>
   *       <a href="mailto:coliver AT apache.org">Christopher Oliver</a>.
   *     </dd>
   *     <dt><b>Copyright:</b></dt>
   *     <dd>
   *       Copyright &copy; 2002-2003
   *       <a href="http://www.apache.org/";>The Apache Software Foundation</a>.
   *       All rights reserved.
   *     </dd>
   *   </dl>
   * </p>
   */
  interface Log {
  
      /**
       * Log a debug message.
       *
       * @param message the message.
       */
      void debug(in string message);
  
      /**
       * Log an information message.
       *
       * @param message the message.
       */
      void info(in string message);
  
      /**
       * Log a warning message.
       *
       * @param message the message.
       */
      void warn(in string message);
  
      /**
       * Log an error message.
       *
       * @param message the message.
       */
      void error(in string message);
  };
  
  
  
  1.1                  xml-cocoon2/src/idl/cocoon_flow/Result.idl
  
  Index: Result.idl
  ===================================================================
  /* ========================================================================= *
   *                   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 <http://www.apache.org/>."          *
   *                                                                           *
   *    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 *
   *    <mailto:[EMAIL PROTECTED]>.                                            *
   *                                                                           *
   * 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  <mailto:[EMAIL PROTECTED]>.  For more information *
   * about the Apache Software Foundation please see <http://www.apache.org/>. *
   *                                                                           *
   * ------------------------------------------------------------------------- */
  
  
  /**
   * <p>
   *   Object returned by a database query.
   * </p>
   *
   * <p>
   *   <dl>
   *     <dt><b>Authors:</b></dt>
   *     <dd>
   *       <a href="mailto:coliver AT apache.org">Christopher Oliver</a>.
   *     </dd>
   *     <dt><b>Copyright:</b></dt>
   *     <dd>
   *       Copyright &copy; 2002-2003
   *       <a href="http://www.apache.org/";>The Apache Software Foundation</a>.
   *       All rights reserved.
   *     </dd>
   *   </dl>
   * </p>
   */
  interface Result {
      /**
       * An array with a case-insensitive object per row with properties matching 
column names and values matching column values.
       */
      readonly attribute cocoon::Rows rows;
      /**
       * An array with an array per row of column values
       */
      readonly attribute cocoon::RowsByIndex rowsByIndex;
      /**
       * An array of column names
       */
      readonly attribute cocoon::StringArray columnNames;
      /**
       * Number of rows returned
       */
      readonly attribute long rowCount;
      /**
       * True if not all rows are included due to reaching a maximum value
       */
      readonly attribute boolean isLimitedByMaxRows;
  };
  
  
  
  1.1                  xml-cocoon2/src/idl/cocoon_flow/WebContinuation.idl
  
  Index: WebContinuation.idl
  ===================================================================
  /* ========================================================================= *
   *                   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 <http://www.apache.org/>."          *
   *                                                                           *
   *    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 *
   *    <mailto:[EMAIL PROTECTED]>.                                            *
   *                                                                           *
   * 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  <mailto:[EMAIL PROTECTED]>.  For more information *
   * about the Apache Software Foundation please see <http://www.apache.org/>. *
   *                                                                           *
   * ------------------------------------------------------------------------- */
  
  
  /**
   * <p>
   *   Representation of continuations in a Web environment.
   * </p>
   *
   * <p>
   *   Because a user may click on the back button of the browser and restart a 
   *   saved computation in a continuation, each <code>WebContinuation</code> 
   *   becomes the parent of a subtree of continuations.
   * </p>
   *
   * <p>
   *   If there is no parent <code>WebContinuation</code>, the created 
   *   continuation becomes the root of a tree of <code>WebContinuation</code>s.
   * </p>
   *
   * <p>
   *   <dl>
   *     <dt><b>Authors:</b></dt>
   *     <dd>
   *       <a href="mailto:coliver AT apache.org">Christopher Oliver</a>.
   *     </dd>
   *     <dt><b>Copyright:</b></dt>
   *     <dd>
   *       Copyright &copy; 2002-2003
   *       <a href="http://www.apache.org/";>The Apache Software Foundation</a>.
   *       All rights reserved.
   *     </dd>
   *   </dl>
   * </p>
   */
  interface WebContinuation {
      /**
       * Unguessable unique identifier of this object.
       */
      readonly attribute string id;
  
      /**
       * Current continuation.
       */
      readonly attribute cocoon::Continuation continuation;
  
      /**
       * Deletes this continuation together with all of its children.
       */
      void invalidate();
  
      /**
       * Debugging aid that displays the tree of continuations rooted
       * in this object.
       */
      void display();
  };
  
  
  
  1.1                  xml-cocoon2/src/idl/cocoon_flow/XForm.idl
  
  Index: XForm.idl
  ===================================================================
  /* ========================================================================= *
   *                   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 <http://www.apache.org/>."          *
   *                                                                           *
   *    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 *
   *    <mailto:[EMAIL PROTECTED]>.                                            *
   *                                                                           *
   * 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  <mailto:[EMAIL PROTECTED]>.  For more information *
   * about the Apache Software Foundation please see <http://www.apache.org/>. *
   *                                                                           *
   * ------------------------------------------------------------------------- */
  
  
  /**
   * <p>
   *   Interface to Cocoon XMLForm.
   * </p>
   *
   * <p>
   *   <dl>
   *     <dt><b>Authors:</b></dt>
   *     <dd>
   *       <a href="mailto:coliver AT apache.org">Christopher Oliver</a>.
   *     </dd>
   *     <dt><b>Copyright:</b></dt>
   *     <dd>
   *       Copyright &copy; 2002-2003
   *       <a href="http://www.apache.org/";>The Apache Software Foundation</a>.
   *       All rights reserved.
   *     </dd>
   *   </dl>
   * </p>
   */
  interface XForm {
  
      /**
       * Creates a new JavaScript wrapper of a Form object
       * @see org.apache.cocoon.components.xmlform.Form
       * @param id form id
       * @param validatorNS Namespace of validator
       * @param validatorDoc Validator document
       */
      cocoon::XForm constructor(in string form_id, in string validator_namespace, in 
string validator_document);
  
      /**
       * Global variable that stores XForm instances by id
       */
      readonly attribute cocoon::XForms forms;
  
      /**
       * The model object of this form: any Java bean, JavaScript, DOM, or JDOM object
       */
      readonly attribute Object model;
  
  
      /**
       * Creates a new web continuation
       * @param lastCont previous web continuation
       * @param timeToLive expiration time for this continuation
       */
  
      WebContinuation start(in WebContinuation lastCont, in long timeToLive);
  
      /**
       * Adds a violation to this form
       * @param xpath xpath expression of field that contains invalid data
       * @param message error message
       */
      void addViolation(in string xpath, in string message);
  
      /**
       * Computes the value of an xpath expression against the model of this form
       * @param expr xpath expression
       * @return result of computing <code>expr</code>
       */
      Object getValue(in string expr);
  
      /**
       * Returns an iterator over a nodeset value of an xpath expression
       * evaluated against the model of this form
       * @param expr xpath expression
       * @return java.util.Iterator representing a nodeset
       */
       cocoon::Iterator iterate(in string expr);
  
      /**
       * Sends view to presentation pipeline and waits for subsequent submission.
       * Automatically resends view if validation fails.
       * Creates two continuations: one immediately before the page is sent
       * and one immediately after. These are used to implement automated support
       * for back/forward navigation in the form. When you move forward in the
       * form the second continuation is invoked. When you move back from the
       * following page the first continuation is invoked.
       * @param phase view to send (and phase to validate)
       * @param uri presentation pipeline resource identifier
       * @param validator optional function invoked to perform validation
       */
      void sendView(in string phase, in string uri, in cocoon::Function validator);
  
      /**
       * Sends view to presentation pipeline but doesn't wait for submission
       * @param view view to send
       * @param uri presentation pipeline uri
       */
  
      void finish(in string view, in string uri);
  };
  
  
  
  

Reply via email to