KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > cocoon > components > flow > ContinuationsManager


1 /*
2  * Copyright 1999-2004 The Apache Software Foundation.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */

16 package org.apache.cocoon.components.flow;
17
18 import java.util.List JavaDoc;
19
20 /**
21  * The interface of the Continuations manager.
22  *
23  * The continuation manager maintains a forrest of {@link
24  * WebContinuation} trees. Each tree defines the flow of control for a
25  * user within the application.
26  *
27  * A <code>WebContinuation</code> is created for a continuation object
28  * from the scripting language used. A continuation object in the
29  * implementation of the scripting language is an opaque object
30  * here. It is only stored inside the <code>WebContinuation</code>,
31  * without being interpreted in any way.
32  *
33  * @author <a HREF="mailto:ovidiu@cup.hp.com">Ovidiu Predescu</a>
34  * @since March 19, 2002
35  * @see WebContinuation
36  * @version CVS $Id: ContinuationsManager.java 164249 2005-04-22 15:42:07Z reinhard $
37  */

38 public interface ContinuationsManager {
39     public final String JavaDoc ROLE = ContinuationsManager.class.getName();
40
41     /**
42      * Create a <code>WebContinuation</code> object given a native
43      * continuation object and its parent. If the parent continuation is
44      * null, the <code>WebContinuation</code> returned becomes the root
45      * of a tree in the forrest.
46      *
47      * @param kont an <code>Object</code> value
48      * @param parentKont a <code>WebContinuation</code> value
49      * @param timeToLive an <code>int</code> value indicating how long
50      * in seconds this continuation will live in the server if not
51      * accessed
52      * @param interpreterId id of interpreter invoking continuation creation
53      * @param disposer a <code>ContinuationsDisposer</code> instance to called when
54      * the continuation gets cleaned up.
55      * @return a <code>WebContinuation</code> value
56      * @see WebContinuation
57      */

58     public WebContinuation createWebContinuation(Object JavaDoc kont,
59                                                  WebContinuation parentKont,
60                                                  int timeToLive,
61                                                  String JavaDoc interpreterId,
62                                                  ContinuationsDisposer disposer);
63
64     /**
65      * Invalidates a <code>WebContinuation</code>. This effectively
66      * means that the continuation object associated with it will no
67      * longer be accessible from Web pages. Invalidating a
68      * <code>WebContinuation</code> invalidates all the
69      * <code>WebContinuation</code>s which are children of it.
70      *
71      * @param k a <code>WebContinuation</code> value
72      */

73     public void invalidateWebContinuation(WebContinuation k);
74
75     /**
76      * Given a <code>WebContinuation</code> id, retrieve the associated
77      * <code>WebContinuation</code> object.
78      * @param id a <code>String</code> value
79      * @param interpreterId Id of an interpreter that queries for
80      * the continuation
81      *
82      * @return a <code>WebContinuation</code> object, null if no such
83      * <code>WebContinuation</code> could be found. Also null if
84      * <code>WebContinuation</code> was found but interpreter id does
85      * not match the one that the continuation was initialy created for.
86      */

87     public WebContinuation lookupWebContinuation(String JavaDoc id, String JavaDoc interpreterId);
88
89     /**
90      * Prints debug information about all web continuations into the log file.
91      * @see WebContinuation#display()
92      */

93     public void displayAllContinuations();
94     
95     /**
96      * Get a list of all continuations as <code>WebContinuationDataBean</code> objects.
97      */

98     public List JavaDoc getWebContinuationsDataBeanList();
99 }
100
Popular Tags