org.opencastproject.userdirectory.api.UserReferenceProvider Maven / Gradle / Ivy
/**
* Licensed to The Apereo Foundation under one or more contributor license
* agreements. See the NOTICE file distributed with this work for additional
* information regarding copyright ownership.
*
*
* The Apereo Foundation licenses this file to you 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.txt
*
* 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.opencastproject.userdirectory.api;
import org.opencastproject.security.api.RoleProvider;
import org.opencastproject.security.api.User;
import org.opencastproject.security.impl.jpa.JpaUserReference;
public interface UserReferenceProvider {
/**
* Add a user reference
*
* @param user
* the user reference to be added
* @param mechanism
* the mechanism that adds the user reference
*/
void addUserReference(JpaUserReference user,
String mechanism);
/**
* Update an existing user reference
*
* @param user
* the user reference to be updated
*/
void updateUserReference(JpaUserReference user);
/**
* Returns the persisted user reference by the user name and organization id
*
* @param userName
* the user name
* @param organizationId
* the organization id
* @return the user reference or null
if not found
*/
JpaUserReference findUserReference(String userName, String organizationId);
/**
* Set an optional roleProvider that takes care about resolving roles
* @param roleProvider
*/
void setRoleProvider(RoleProvider roleProvider);
/**
* Load a user by userName
*
* @param userName
* @return the user or null
if not found
*/
User loadUser(String userName);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy