distributeConstructions
public <AH extends AssignmentHolderType,K extends HumanReadableDescribable,ACT extends AbstractConstructionType,AC extends AbstractConstruction<AH,ACT,EC>,EC extends EvaluatedAbstractConstruction<AH>> DeltaMapTriple<K,EvaluatedConstructionPack<EC>> distributeConstructions(DeltaSetTriple<EvaluatedAssignmentImpl<AH>> evaluatedAssignmentTriple,
Function<EvaluatedAssignmentImpl<AH>,DeltaSetTriple<AC>> constructionTripleExtractor,
FailableLensFunction<EC,K> keyGenerator,
ComplexConstructionConsumer<K,EC> consumer)
throws ObjectNotFoundException,
SchemaException,
CommunicationException,
ConfigurationException,
SecurityViolationException,
ExpressionEvaluationException
Categorizes assigned constructions (resource object or persona ones) from evaluated assignments into
other structures by calling appropriate methods on the consumer.
- Type Parameters:
AH
- Focus type
K
- Indexing key type. Currently, for resource object constructions it is ProjectionContextKey
;
for personas it is PersonaKey
(type+subtypes).
ACT
- Construction bean type.
AC
- Construction type.
EC
- Evaluated construction type.
- Parameters:
evaluatedAssignmentTriple
- Constructions collected during assignment evaluation.
constructionTripleExtractor
- Method that extracts constructions of given type - resource objects or personas -
(in the form of triple i.e. added/deleted/kept) from evaluated assignment. See ConstructionCollector
.
keyGenerator
- Method that generates indexing key for constructions, under which they are collected. See K type.
consumer
- Object that receives categorized constructions (via methods like onAssigned, onUnchangedValid, ...).
- Returns:
- Constructions sorted out by status (plus/minus/zero) and indexing key (
ProjectionContextKey
or PersonaKey
).
- Throws:
ObjectNotFoundException
SchemaException
CommunicationException
ConfigurationException
SecurityViolationException
ExpressionEvaluationException