package be.iminds.ilabt.jfed.experimenter_gui.editor.rspec_validation;

import be.iminds.ilabt.jfed.rspec.rspec_source.RequestRspecSource;
import javafx.stage.Window;

/**
 * User: twalcari
 * Date: 1/22/2015
 * Time: 16:41
 */
public interface RspecValidator {

    /**
     *
     * @param reason
     * @param requestRspecSource
     * @param dialogOwner
     * @return null if validation went OK. Otherwise, a RspecValidationResult is returned, which will either contain a
     * (possibly modified) FXModelRspec if the users want to continue, or null if the users wants to keep editing (abort == true).
     */
    RspecValidationResult validateRSpec(RspecCheckReason reason, RequestRspecSource requestRspecSource, Window dialogOwner);
}
