KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > tapestry > engine > state > ApplicationScopeManager


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

15 package org.apache.tapestry.engine.state;
16
17 import java.util.HashMap JavaDoc;
18 import java.util.Map JavaDoc;
19
20 /**
21  * The application scope is for objects that are global to all users and all sessions.
22  * Traditionally, that's stored in the servlet context, but there's no advantage to doing that over
23  * just using a Map.
24  *
25  * @author Howard M. Lewis Ship
26  * @since 4.0
27  */

28 public class ApplicationScopeManager implements StateObjectPersistenceManager
29 {
30     private Map JavaDoc _objects = new HashMap JavaDoc();
31
32     public synchronized boolean exists(String JavaDoc objectName)
33     {
34         return false;
35     }
36
37     public synchronized Object JavaDoc get(String JavaDoc objectName, StateObjectFactory factory)
38     {
39         Object JavaDoc result = _objects.get(objectName);
40
41         if (result == null)
42         {
43             result = factory.createStateObject();
44             _objects.put(objectName, result);
45         }
46
47         return result;
48     }
49
50     public synchronized void store(String JavaDoc objectName, Object JavaDoc stateObject)
51     {
52         _objects.put(objectName, stateObject);
53     }
54
55 }
Popular Tags