Package com.kenshoo.pl.entity.internal
Class SingleFieldEnricher<E extends EntityType<E>,T>
- java.lang.Object
-
- com.kenshoo.pl.entity.internal.SingleFieldEnricher<E,T>
-
- All Implemented Interfaces:
CurrentStateConsumer<E>,PostFetchCommandEnricher<E>
- Direct Known Subclasses:
ExistingFieldModifier,MissingFieldEnricher
public abstract class SingleFieldEnricher<E extends EntityType<E>,T> extends java.lang.Object implements PostFetchCommandEnricher<E>
-
-
Constructor Summary
Constructors Constructor Description SingleFieldEnricher()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected java.util.function.Predicate<EntityChange<E>>additionalCommandFilter()protected java.util.function.BiPredicate<EntityChange<E>,CurrentEntityState>additionalPostFetchCommandFilter()voidenrich(java.util.Collection<? extends ChangeEntityCommand<E>> changeEntityCommands, ChangeOperation changeOperation, ChangeContext changeContext)"Enriches" the commands with system-imposed changes.protected abstract EntityField<E,T>enrichedField()protected abstract TenrichedValue(EntityChange<E> entityChange, CurrentEntityState currentState)java.util.stream.Stream<EntityField<E,?>>fieldsToEnrich()return stream of enriched fields according to input commands.booleanshouldRun(java.util.Collection<? extends EntityChange<E>> commands)protected booleanshouldRunForCommand(EntityChange<E> entityChange)-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.kenshoo.pl.entity.spi.CurrentStateConsumer
getSupportedChangeOperation, requiredFields
-
-
-
-
Method Detail
-
enrich
public final void enrich(java.util.Collection<? extends ChangeEntityCommand<E>> changeEntityCommands, ChangeOperation changeOperation, ChangeContext changeContext)
Description copied from interface:PostFetchCommandEnricher"Enriches" the commands with system-imposed changes.- Specified by:
enrichin interfacePostFetchCommandEnricher<E extends EntityType<E>>- Parameters:
changeEntityCommands- commands to enrichchangeOperation- operationchangeContext- the context of the operation
-
fieldsToEnrich
public final java.util.stream.Stream<EntityField<E,?>> fieldsToEnrich()
Description copied from interface:PostFetchCommandEnricherreturn stream of enriched fields according to input commands.- Specified by:
fieldsToEnrichin interfacePostFetchCommandEnricher<E extends EntityType<E>>- Returns:
- the fields should be enriched
-
shouldRun
public final boolean shouldRun(java.util.Collection<? extends EntityChange<E>> commands)
- Specified by:
shouldRunin interfacePostFetchCommandEnricher<E extends EntityType<E>>- Parameters:
commands- to enrich- Returns:
- indicator that enricher should be run
-
enrichedField
protected abstract EntityField<E,T> enrichedField()
-
enrichedValue
protected abstract T enrichedValue(EntityChange<E> entityChange, CurrentEntityState currentState)
-
additionalCommandFilter
protected java.util.function.Predicate<EntityChange<E>> additionalCommandFilter()
-
additionalPostFetchCommandFilter
protected java.util.function.BiPredicate<EntityChange<E>,CurrentEntityState> additionalPostFetchCommandFilter()
-
shouldRunForCommand
protected boolean shouldRunForCommand(EntityChange<E> entityChange)
-
-