// $Id: ParagraphCheck.java,v 1.5 2004/02/27 16:30:00 m31 Exp $
//
// This file is part of the program suite "Principia Mathematica II"
// which is a working prototype for the main project:
// "Hilbert II" - http://www.qedeq.org
//
// Copyright 2001-2004  Michael Meyling <mime@qedeq.org>.
//
// "Principia Mathematica II" is free software; you can redistribute
// it and/or modify it under the terms of the GNU General Public
// License as published by the Free Software Foundation; either
// version 2 of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.

package com.meyling.principia.logic.paragraph;


import com.meyling.principia.argument.Argument;
import com.meyling.principia.argument.ArgumentException;
import com.meyling.principia.module.Module;


/**
 * Every main {@link Paragraph} entry must implement this interface.
 *
 * @version $Revision: 1.5 $
 * @author  Michael Meyling
 */
public interface ParagraphCheck extends Argument {


    /**
     * Check if a paragraph could be added to a module.
     * Could also change a module attribut (e.g. add an label).
     *
     * @param   module    the module context
     * @param   label     label of paragraph
     * @throws  ArgumentException    if addition is not possible
     */
    public void check(Module module, String label)
        throws ArgumentException;


}
