01: /*
02: * Licensed to the Apache Software Foundation (ASF) under one or more
03: * contributor license agreements. See the NOTICE file distributed with
04: * this work for additional information regarding copyright ownership.
05: * The ASF licenses this file to You under the Apache License, Version 2.0
06: * (the "License"); you may not use this file except in compliance with
07: * the License. You may obtain a copy of the License at
08: *
09: * http://www.apache.org/licenses/LICENSE-2.0
10: *
11: * Unless required by applicable law or agreed to in writing, software
12: * distributed under the License is distributed on an "AS IS" BASIS,
13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14: * See the License for the specific language governing permissions and
15: * limitations under the License.
16: */
17: package org.apache.jetspeed.userinfo;
18:
19: import java.util.Map;
20:
21: import org.apache.jetspeed.request.RequestContext;
22:
23: import org.apache.pluto.om.common.ObjectID;
24:
25: /**
26: * <p>The {@link UserInfoManager} retrieve the Map that will be set as a
27: * <code>(PortletRequest.USER_INFO</code> request attribute for a specific
28: * portlet application</p>
29: * <p>The portlet specification defines user info as follow (PLT 17):</p>
30: * <p>Portlets can obtain an unmodifiable Map object containing the user attributes,
31: * of user associated with the current request, from the request attributes.
32: * The Map object can be retrieved using the USER_INFO constant defined in the
33: * PortletRequest interface. If the request is done in the context of an
34: * un-authenticated user, calls to the getAttribute method of the request
35: * using the USER_INFO constant must return null. If the user is
36: * authenticated and there are no user attributes available, the Map must
37: * be an empty Map. The Map object must contain a String name value pair for each available user
38: * attribute. The Map object should only contain user attributes that have been mapped
39: * during deployment.</p>
40: * <p>Portlets can obtain an unmodifiable Map object containing the user attributes, of user
41: * associated with the current request, from the request attributes. The Map object can be
42: * retrieved using the USER_INFO constant defined in the PortletRequest interface. If the
43: * request is done in the context of an un-authenticated user, calls to the getAttribute
44: * method of the request using the USER_INFO constant must return null. If the user is
45: * authenticated and there are no user attributes available, the Map must be an empty Map.
46: * The Map object must contain a String name value pair for each available user attribute.
47: * The Map object should only contain user attributes that have been mapped during
48: * deployment.</p>
49: *
50: * @author <a href="mailto:dlestrat@apache.org">David Le Strat</a>
51: */
52: public interface UserInfoManager {
53:
54: /**
55: * <p>Provide the user info map of user attributes for a given portlet application.</p>
56: * @param oid The portlet application object id.
57: * @param context The request context.
58: * @return The {@link PortletRequest.USER_INFO} map.
59: */
60: Map getUserInfoMap(ObjectID oid, RequestContext context);
61: }
|