package com.capgemini.reports.reports.parameters;

import com.capgemini.framework.teamcenter.authent.TcSession;
import com.capgemini.reports.exceptions.InvalidUserInputException;

/**
 * Represents some required checks for the report parameters.<br>
 * This interface offers a {@link #check(TcSession)} method which will validate the user inputs.
 */
public interface IChecker {

    /**
     * This method performs checks on the validity of the user inputs.<br>
     *
     * @param session the {@link TcSession} to be used to check data from the Teamcenter servers.
     * @throws InvalidUserInputException a {@link InvalidUserInputException} must be raised when the check has failed.
     */
    void check(final TcSession session) throws InvalidUserInputException;

}
