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

cdc.applic.mountability.handlers.MountabilityHandler Maven / Gradle / Ivy

package cdc.applic.mountability.handlers;

import cdc.applic.expressions.Expression;

/**
 * Interface invoked by the mountability computation.
 *
 * @param  The Use Point type.
 * @param  The Variant type.
 */
public interface MountabilityHandler {
    /**
     * Invoked once when processing of use points starts.
     */
    public void processBeginUsePoints();

    /**
     * Invoked once when processing of use points is finished.
     */
    public void processEndUsePoints();

    /**
     * Invoked once for each use point, when its processing starts.
     *
     * @param usePoint The use point.
     */
    public void processBeginUsePoint(U usePoint);

    /**
     * Invoked once for each use point, when its processing is finished.
     *
     * @param usePoint The use point.
     */
    public void processEndUsePoint(U usePoint);

    /**
     * Invoked once for each variant of each use point.
     *
     * @param usePoint The use point.
     * @param variant The variant.
     * @param mountability The computed mountability of {@code variant}.
     */
    public void processVariantMountability(U usePoint,
                                           V variant,
                                           Expression mountability);

    public void processError(RuntimeException e);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy