Class BoundReplaceStrategy<T extends FeatureInput,S extends ReplaceStrategy<T>>
Object
org.anchoranalysis.feature.session.replace.BoundReplaceStrategy<T,S>
- Type Parameters:
T- feature-input typeS- strategy-type
public class BoundReplaceStrategy<T extends FeatureInput,S extends ReplaceStrategy<T>> extends Object
Attaches a replacement-strategy to a session lazily.
i.e. the strategy is attached only when first needed.
This is because as the relevant parameters are not available when we need to call the constructor.
-
Constructor Summary
Constructors Constructor Description BoundReplaceStrategy(Function<CacheCreator,S> createStrategy) -
Method Summary
Modifier and Type Method Description ReplaceStrategy<T>createOrReuse(FeatureList<T> features, FeatureInitialization initialization, SharedFeatures sharedFeatures, org.anchoranalysis.core.log.Logger logger)Creates aReplaceStrategyfor a particularCacheCreator, or reuses any previously-createdReplaceStrategyif it exists.Optional<S>getStrategy()The strategy that has been bound (if it exists).
-
Constructor Details
-
Method Details
-
createOrReuse
public ReplaceStrategy<T> createOrReuse(FeatureList<T> features, FeatureInitialization initialization, SharedFeatures sharedFeatures, org.anchoranalysis.core.log.Logger logger)Creates aReplaceStrategyfor a particularCacheCreator, or reuses any previously-createdReplaceStrategyif it exists.- Parameters:
features- the features to use in theCacheCreator, if created.initialization- the initialization for theCacheCreator, if created.sharedFeatures- the shared-features for theCacheCreator, if created.logger- the logger.- Returns:
- a
ReplaceStrategy, reused if it already exists, otherwise newly created.
-
getStrategy
The strategy that has been bound (if it exists).
-