package org.josso.gateway.identity.service.store.virtual; import java.util.Collection; /** * Service Provider Interface (SPI) for realizing components capable of mapping * multiple source user exists outcome entries to one virtual user exists outcome entry. * <p/> * User Exists Mapping Rules support : * <p/> * a. selecting a set of user exists outcome entries from the entire set of entries provided by the associated sources. * b. joining multiple source user exists outcome entries into one * c. transforming the joint user exists outcome entry * d. validating the virtual user exists outcome entry */ public interface UserExistsMappingRule { Collection<UserExistsOutcome> select(Collection<UserExistsOutcome> selectedOutcomes); UserExistsOutcome join(Collection<UserExistsOutcome> selectedOutcomes); UserExistsOutcome transform(UserExistsOutcome jointOutcome); void validate(UserExistsOutcome transformedOutcome); }