KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > sun > enterprise > security > factory > AbstractSecurityManagerFactory


1 /*
2  * The contents of this file are subject to the terms
3  * of the Common Development and Distribution License
4  * (the License). You may not use this file except in
5  * compliance with the License.
6  *
7  * You can obtain a copy of the license at
8  * https://glassfish.dev.java.net/public/CDDLv1.0.html or
9  * glassfish/bootstrap/legal/CDDLv1.0.txt.
10  * See the License for the specific language governing
11  * permissions and limitations under the License.
12  *
13  * When distributing Covered Code, include this CDDL
14  * Header Notice in each file and include the License file
15  * at glassfish/bootstrap/legal/CDDLv1.0.txt.
16  * If applicable, add the following below the CDDL Header,
17  * with the fields enclosed by brackets [] replaced by
18  * you own identifying information:
19  * "Portions Copyrighted [year] [name of copyright owner]"
20  *
21  * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
22  */

23
24 /*
25  * AbstractSecurityManagerFactory.java
26  *
27  * Created on June 9, 2003, 1:44 PM
28  */

29
30 package com.sun.enterprise.security.factory;
31
32 import java.util.Map JavaDoc;
33 import java.util.HashMap JavaDoc;
34
35 import com.sun.enterprise.SecurityManager;
36 import com.sun.enterprise.security.factory.SecurityManagerFactory;
37 import com.sun.enterprise.deployment.Descriptor;
38 import java.util.logging.*;
39 import com.sun.logging.LogDomains;
40 /**
41  * This class is the parent for Web/Ejb SecurityManager. It keeps a pool of SM
42  * objects.
43  * @author Harpreet Singh
44  */

45 public abstract class AbstractSecurityManagerFactory
46     implements SecurityManagerFactory {
47     
48     protected static Logger _logger =
49     Logger.getLogger(LogDomains.SECURITY_LOGGER);
50   
51     protected static SecurityManagerFactory _theFactory = null;
52     protected Map JavaDoc _securityManagerPool = new HashMap JavaDoc();
53     
54     public abstract SecurityManager JavaDoc getSecurityManager(String JavaDoc contextId);
55     
56     public abstract SecurityManager JavaDoc createSecurityManager(Descriptor descriptor);
57
58     /**
59      * Does the SM pool has this SM already
60      * @param String the context Id of the SecurityManager
61      * @return true, if SM present, false otherwise
62      */

63     protected boolean _poolHas(String JavaDoc contextId){
64        return _securityManagerPool.containsKey(contextId);
65     }
66     
67     protected void _poolPut(String JavaDoc contextId, SecurityManager JavaDoc smf){
68         synchronized(_securityManagerPool){
69             _securityManagerPool.put(contextId, smf);
70         }
71     }
72     protected SecurityManager JavaDoc _poolGet(String JavaDoc contextId){
73         return (SecurityManager JavaDoc)_securityManagerPool.get(contextId);
74     }
75     
76    public void removeSecurityManager(String JavaDoc contextId){
77         synchronized (_securityManagerPool){
78             _securityManagerPool.remove(contextId);
79         }
80     }
81 }
82
Popular Tags