package hu.sztaki.ilab.longneck.process.constraint;
import hu.sztaki.ilab.longneck.Record;
import hu.sztaki.ilab.longneck.process.SourceInfoContainer;
import hu.sztaki.ilab.longneck.process.VariableSpace;
/**
* Constraint to check records against arbitrary rules.
*
* @author Molnar Peter <molnarp@sztaki.mta.hu>
*/
public interface Constraint extends Cloneable, SourceInfoContainer {
/**
* Performs the check, if the record conforms to this constraint.
*
* @param record The record, that is checked.
*/
public CheckResult check(Record record, VariableSpace scope);
public Constraint clone();
}