Package cdc.applic.factorization
Interface Cutter
public interface Cutter
Cutter is used to cut objects that have an applicability.
Given a target applicability, each object can be:
- included when its applicability is a non empty subset of target applicability
- excluded when its applicability is a non empty subset of complement of target applicability
- cut when its applicability intersects both target applicability and its complement.
- degenerated when its applicability intersects neither target applicability nor its complement.
- Author:
- Damien Carbonne
-
Method Summary
Modifier and TypeMethodDescriptioncut(List<? extends T> objects, Expression targetApplicability, ApplicabilityExtractor<? super T> applicabilityExtractor, FactorizationFeatures features) <T> voidcut(List<? extends T> objects, Expression targetApplicability, ApplicabilityExtractor<? super T> applicabilityExtractor, FactorizationFeatures features, CutHandler<T> handler) Cut the applicability of a list of objects in 2 parts.
-
Method Details
-
cut
<T> void cut(List<? extends T> objects, Expression targetApplicability, ApplicabilityExtractor<? super T> applicabilityExtractor, FactorizationFeatures features, CutHandler<T> handler) Cut the applicability of a list of objects in 2 parts.For each object in
objects, when applicability of object:- is a non-empty subset of
targetApplicability, invokesCutHandler.processIncludeObjectApplicability(Object). - is a non-empty subset of complement of
targetApplicability, invokesCutHandler.processExcludeObjectApplicability(Object). - straddles
targetApplicabilityand its complement, invokesCutHandler.processCutObjectApplicability(Object, Expression, Expression). - intersects neither
targetApplicabilitynor its complement, invokesCutHandler.processDegenerateObjectApplicability(Object).
- Type Parameters:
T- The object type.- Parameters:
objects- The objects.targetApplicability- The target applicability.applicabilityExtractor- The applicability extractor.features- The features to apply.handler- The event handler.
- is a non-empty subset of
-
cut
<T> List<CutEvent<T>> cut(List<? extends T> objects, Expression targetApplicability, ApplicabilityExtractor<? super T> applicabilityExtractor, FactorizationFeatures features)
-