package org.atricore.idbus.idojos.virtualidentitystore; import org.atricore.idbus.kernel.main.authn.BaseRole; import org.atricore.idbus.kernel.main.authn.BaseUser; import org.atricore.idbus.kernel.main.authn.Credential; import java.util.Collection; /** * Service Provider Interface for Identity Data Mapping Policies. * Identity Mapping Policies can be realized for acting upon user identity lookup operations * in order to supply virtual user and entitlement records from records provided by associated sources. * * @author <a href="mailto:gbrigand@josso.org">Gianluca Brigandi</a> * @version $Id: IdentityDataMappingPolicy.java 1644 2010-07-27 19:31:39Z sgonzalez $ */ public interface IdentityDataMappingPolicy { Collection<BaseUser> selectUser(Collection<BaseUser> sourceUsers) throws VirtualIdentityStoreException; BaseUser joinUsers(Collection<BaseUser> selectedUsers) throws VirtualIdentityStoreException; BaseUser transformUser(BaseUser jointEntry) throws VirtualIdentityStoreException; void validateUser(BaseUser transformedEntry) throws VirtualIdentityStoreException; Collection<BaseRole> selectRoles(Collection<BaseRole> sourceRoles) throws VirtualIdentityStoreException; Collection<BaseRole> joinRoles(Collection<BaseRole> selectedRoles) throws VirtualIdentityStoreException; Collection<BaseRole> transformRoles(Collection<BaseRole> jointRoles) throws VirtualIdentityStoreException; void validateRoles(Collection<BaseRole> transformedRoles) throws VirtualIdentityStoreException; Collection<Credential> selectCredentials(Collection<Credential> sourceCredentials) throws VirtualIdentityStoreException; Collection<Credential> joinCredentials(Collection<Credential> selectedCredentials) throws VirtualIdentityStoreException; Collection<Credential> transformCredentials(Collection<Credential> jointCredentials) throws VirtualIdentityStoreException; void validateCredentials(Collection<Credential> transformedCredentials) throws VirtualIdentityStoreException; Collection<String> selectUID(Collection<String> strings); String joinUIDs(Collection<String> selectedUIDs); String transformUID(String jointEntry); void validateUID(String transformedEntry); Collection<BindOutcome> selectBindOutcomes(Collection<BindOutcome> sourceOutcomes); BindOutcome joinBindOutcomes(Collection<BindOutcome> selectedOutcomes); BindOutcome transformBindOutcome(BindOutcome jointEntry); void validateBindOutcome(BindOutcome transformedEntry); Collection<UserExistsOutcome> selectUserExistsOutcomes(Collection<UserExistsOutcome> sourceOutcomes); UserExistsOutcome joinUserExistsOutcomes(Collection<UserExistsOutcome> selectedOutcomes); UserExistsOutcome transformUserExistsOutcome(UserExistsOutcome jointEntry); void validateUserExistsOutcome(UserExistsOutcome transformedEntry); }