package org.atricore.idbus.idojos.virtualidentitystore;
import java.util.Collection;
/**
* Service Provider Interface (SPI) for realizing components capable of mapping
* multiple source bind outcome entries to one virtual bind outcome entry.
* <p/>
* Bind Mapping Rules support :
* <p/>
* a. selecting a set of bind outcome entries from the entire set of entries provided by the associated sources.
* b. joining multiple source bind outcome entries into one
* c. transforming the joint bind outcome entry
* d. validating the virtual bind outcome entry
*/
public interface BindMappingRule {
Collection<BindOutcome> select(Collection<BindOutcome> selectedOutcomes);
BindOutcome join(Collection<BindOutcome> selectedOutcomes);
BindOutcome transform(BindOutcome jointOutcome);
void validate(BindOutcome transformedOutcome);
}