01: /*
02: * Copyright 2005 jWic group (http://www.jwic.de)
03: *
04: * Licensed under the Apache License, Version 2.0 (the "License");
05: * you may not use this file except in compliance with the License.
06: * You may obtain a copy of the License at
07: *
08: * http://www.apache.org/licenses/LICENSE-2.0
09: *
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: * de.jwic.base.IApplicationSetup
17: * Created on 23.03.2005
18: * $Id: IApplicationSetup.java,v 1.1 2006/01/16 08:30:40 lordsam Exp $
19: */
20: package de.jwic.base;
21:
22: import java.io.Serializable;
23:
24: /**
25: * Describes the properties of an jwic application used to manage the lifecycle.
26: *
27: * @author Florian Lippisch
28: * @version $Revision: 1.1 $
29: */
30: public interface IApplicationSetup extends Serializable {
31:
32: /**
33: * Returns the application class.
34: * @return
35: */
36: public IApplication createApplication();
37:
38: /**
39: * Returns the name of the application.
40: */
41: public String getName();
42:
43: /**
44: * Returns true if the application should be rendered using ajax
45: * (Asynchronous JavaScript and XML) and DTHML. The default value
46: * is true.
47: * @return
48: */
49: public boolean isUseAjaxRendering();
50:
51: /**
52: * Returns if the application is serializable. Applications should be serializable by
53: * default to allow the runtime to "swap out" sessions. If an application is marked
54: * not serializable, the session will remain loaded until the application is terminated
55: * or the session times out.
56: */
57: public boolean isSerializable();
58:
59: /**
60: * Returns if the application should be loaded only once per client(-session). If
61: * set to true, each try to launch another instance of the application will only
62: * reactivate an existing session if exists.
63: * @return
64: */
65: public boolean isSingleSession();
66:
67: /**
68: * Returns if the application can be accessed only if the user is authenticated.
69: * To use this feature, an <code>IAuthenticator</code> must be specified for the
70: * invoker (i.e. DispatcherServlet)
71: * @return
72: */
73: public boolean isRequireAuthentication();
74:
75: /**
76: * Returns an application specific property.
77: * @param key
78: * @return
79: */
80: public String getProperty(String key);
81: }
|