All Downloads are FREE. Search and download functionalities are using the official Maven repository.

cdc.applic.factorization.Splitter Maven / Gradle / Ivy

The newest version!
package cdc.applic.factorization;

import java.util.List;

import cdc.applic.expressions.Expression;
import cdc.applic.factorization.events.SplitEvent;
import cdc.applic.factorization.handlers.SplitHandler;

/**
 * Given a set of objects that have disjoint applicabilities and a target applicability,
 * this is used to produce a new set where exactly one object has a target applicability
 * and all other have an applicability that does not intersect with target applicability.
 *
 * @author Damien Carbonne
 */
public interface Splitter {
    /**
     * Split a set of objects that have disjoint applicabilities.
     * 

* This can: *

    *
  • Change (reduce) that applicability of an object *
  • Remove an object *
  • Create an object, which can happen at most once. *
  • Reuse an object (that is the merge of remove/create and can happen at most once). *
* * @param The object type. * @param objects The objects. * @param targetApplicability The target applicability. * @param applicabilityExtractor The applicability extractor. * @param features The features to apply. * @param handler The event handler. */ public void split(List objects, Expression targetApplicability, ApplicabilityExtractor applicabilityExtractor, FactorizationFeatures features, SplitHandler handler); public List> split(List objects, Expression targetApplicability, ApplicabilityExtractor applicabilityExtractor, FactorizationFeatures features); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy