All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.sakaiproject.user.api.ContextualUserDisplayService Maven / Gradle / Ivy

The newest version!
/**
 * Copyright (c) 2003-2012 The Apereo Foundation
 *
 * Licensed under the Educational Community License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *             http://opensource.org/licenses/ecl2
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.sakaiproject.user.api;

/**
 * Optional service to override default display IDs and names with context-specific values,
 * particularly site-specific aliases.
 * 
 * This interface will not typically be implemented by user directory providers. The user
 * directory provider connects a user identifier to user data maintained by an external
 * source such as LDAP or SIS. Such implementations tend to be institution specific.
 * In contrast, site-specific and tool-specific aliases and nicknames will typically be
 * enabled and managed by adding generic profile utilities to a site.
 * 

* WARNING: This service will be called on every access of a relevant User object's * "getDisplayName()" and "getDisplayId()"! It's very important for implementers to * include caching, since the User Directory Service itself won't cache these fields. */ public interface ContextualUserDisplayService { /** * Based on the current runtime environment, find a context-specific humanly-understandable * disambiguating ID for the specified user. * * @param user * @return context-specific ID, or null if the feature doesn't apply to this * user in the current runtime environment */ String getUserDisplayId(User user); /** * Based on the current runtime environment, find a context-specific full name * to display for the specified user. * * @param user * @return context-specific name, or null if the feature doesn't apply to this * user in the current runtime environment */ String getUserDisplayName(User user); /** * Return a context-specific humanly-understandable disambiguating ID for the * specified user. * * @param user * @param contextReference the entity reference to be used to determine the context; * the only currently known service implementation expects a Site ID * @return context-specific ID, or null if the feature doesn't apply to this * user and context */ String getUserDisplayId(User user, String contextReference); /** * Return a context-specific full name to display for the specified user. * * @param user * @param contextReference the entity reference to be used to determine the context; * the only currently known service implementation expects a Site ID * @return context-specific name, or null if the feature doesn't apply to this * user and context */ String getUserDisplayName(User user, String contextReference); }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy