KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > cocoon > portal > coplet > adapter > CopletAdapter


1 /*
2  * Copyright 1999-2002,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.portal.coplet.adapter;
17
18 import org.apache.avalon.framework.component.Component;
19 import org.apache.cocoon.portal.coplet.CopletInstanceData;
20 import org.xml.sax.ContentHandler JavaDoc;
21 import org.xml.sax.SAXException JavaDoc;
22
23 /**
24  * This is the "portlet" implementation.
25  * A coplet adapter is the interface between the portal engine and
26  * the implementation of a coplet.
27  * Usually there is only one instance of an adapter (= singleton).
28  * Whenever an instance of this coplet is rendered, the
29  * adapter is invoked to render the coplet.
30  *
31  * The behaviour of the adapter can be controlled by a set of
32  * parameters. In general, the coplet base data defines the default
33  * for all coplets, but the value can be overriden by the coplet
34  * data. The coplet base data stores the information in the coplet
35  * config map whereas the coplet data stores them in the attributes.
36  * Apart from that the keys and the data types are the same.
37  *
38  * Configuration:
39  *
40  * buffer - A boolean value (default is false) that defines if the
41  * xml data stream from the coplet is buffered. If the stream
42  * is not buffered and an exception occurs then the whole
43  * portal will be rendered invalid.
44  * timeout - An integer value (default is endless) that defines the
45  * maximum time (in seconds) the coplet has to deliver it's content.
46  * If the timeout is reached the content is assumed as not
47  * gettable. If you set a timeout, the content is automatically
48  * buffered.
49  *
50  * @author <a HREF="mailto:cziegeler@s-und-n.de">Carsten Ziegeler</a>
51  * @author <a HREF="mailto:volker.schmitt@basf-it-services.com">Volker Schmitt</a>
52  *
53  * @version CVS $Id: CopletAdapter.java 30932 2004-07-29 17:35:38Z vgritsenko $
54  */

55 public interface CopletAdapter
56     extends Component {
57
58     String JavaDoc ROLE = CopletAdapter.class.getName();
59     
60     /**
61      * Initialize the coplet
62      * This method is called immediately after a new instance is created.
63      * For each coplet, this method is only invoked once.
64      * @param coplet The coplet
65      */

66     void init(CopletInstanceData coplet);
67     
68     /**
69      * Destroy the coplet
70      * This method is invoked when a coplet instance will be destroyed
71      * For each coplet, this method is only invoked once.
72      * @param coplet
73      */

74     void destroy(CopletInstanceData coplet);
75
76     /**
77      * Stream the content of the coplet
78      */

79     void toSAX(CopletInstanceData coplet, ContentHandler JavaDoc contentHandler)
80     throws SAXException JavaDoc;
81     
82     /**
83      * User logs in to a coplet
84      * This method is invoked when a user logs in for each coplet instance
85      * of the user
86      */

87     void login(CopletInstanceData coplet);
88         
89     /**
90      * User logs out from a coplet
91      * This method is invoked when a user logs out for each coplet instance
92      * of this user.
93      */

94     void logout(CopletInstanceData coplet);
95 }
96
Popular Tags