package caltool;

/****
 *
 * Interface PrecondViolation defines the methods that all
 * precondition violation exceptions should implement.
 *
 * @author Gene Fisher (gfisher@calpoly.edu)
 * @version 17feb12
 *
 */
public interface PrecondViolation {

    /**
     * Return the concrete error list for precondtion
     * violation.  Each position in the list corresponds
     * to violation of a particular precondition clause.
     */
    public String[] getErrors();

    /**
     * Clear out all of the error messages in this.
     */
    public void clear();

    /**
     * Return true if one or more error messages has been
     * set.
     */
    public boolean anyErrors();

    /**
     * Return the number of error messages.
     */
    public int numberOfErrors();

}