/* * JBoss, Home of Professional Open Source. * * See the LEGAL.txt file distributed with this work for information regarding copyright ownership and licensing. * * See the AUTHORS.txt file distributed with this work for a full listing of individual contributors. */ package org.teiid.designer.core.validation; import org.eclipse.core.runtime.IProgressMonitor; /** * ValidationRuleSet * * @since 8.0 */ public interface ValidationRuleSet { /** * Add a {@link ValidationRule} instance to the set of rules * @param rule */ void addRule(ValidationRule rule); /** * Return the array of {@link ValidationRule} instances for this set */ ValidationRule[] getRules(); /** * Returns true if the rule set is not null or empty */ boolean hasRules(); /** * Execute the validation rule set * @param eObject * @param context * @param progressMonitor */ void validate(IProgressMonitor progressMonitor, Object eObject, ValidationContext context); }