01: /**********************************************************************************
02: * $URL:https://source.sakaiproject.org/svn/osp/trunk/common/api/src/java/org/theospi/portfolio/security/model/AuthZMap.java $
03: * $Id:AuthZMap.java 9134 2006-05-08 20:28:42Z chmaurer@iupui.edu $
04: ***********************************************************************************
05: *
06: * Copyright (c) 2005, 2006 The Sakai Foundation.
07: *
08: * Licensed under the Educational Community License, Version 1.0 (the "License");
09: * you may not use this file except in compliance with the License.
10: * You may obtain a copy of the License at
11: *
12: * http://www.opensource.org/licenses/ecl1.php
13: *
14: * Unless required by applicable law or agreed to in writing, software
15: * distributed under the License is distributed on an "AS IS" BASIS,
16: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17: * See the License for the specific language governing permissions and
18: * limitations under the License.
19: *
20: **********************************************************************************/package org.theospi.portfolio.security.model;
21:
22: import java.util.HashMap;
23:
24: import org.sakaiproject.metaobj.shared.model.Id;
25: import org.theospi.portfolio.security.AuthorizationFacade;
26:
27: public class AuthZMap extends HashMap {
28: private AuthorizationFacade authzFacade;
29: private String prefix;
30: private Id qualifier;
31:
32: public AuthZMap(AuthorizationFacade authzFacade, Id qualifier) {
33: this .authzFacade = authzFacade;
34: this .prefix = "";
35: this .qualifier = qualifier;
36: }
37:
38: public AuthZMap(AuthorizationFacade authzFacade, String prefix,
39: Id qualifier) {
40: this .authzFacade = authzFacade;
41: this .prefix = prefix;
42: this .qualifier = qualifier;
43: }
44:
45: public Object get(Object key) {
46: if (super .get(key) == null) {
47: super .put(key, new Boolean(authzFacade.isAuthorized(prefix
48: + key.toString(), qualifier)));
49: }
50: return super.get(key);
51: }
52: }
|