package org.atricore.idbus.idojos.virtualidentitystore;
import org.atricore.idbus.kernel.main.authn.BaseUser;
import java.util.Collection;
/**
* Service Provider Interface (SPI) for realizing components capable of mapping
* multiple source user entries to one virtual user entry.
* <p/>
* User Mapping Rules support :
* <p/>
* a. selecting a set of user entries from the entire set of entries provided by the associated sources.
* b. joining multiple source user entries into one
* c. transforming the joint user entry
* d. validating the virtual user entry
*
* @author <a href="mailto:gbrigand@josso.org">Gianluca Brigandi</a>
* @version $Id: UserMappingRule.java 1644 2010-07-27 19:31:39Z sgonzalez $
*/
public interface UserMappingRule {
Collection<BaseUser> select(Collection<BaseUser> selectedUsers);
BaseUser join(Collection<BaseUser> selectedUsers);
BaseUser transform(BaseUser transformedUser);
void validate(BaseUser transformedUser);
}