package edu.harvard.econcs.turkserver.mturk;
import java.util.List;
import edu.harvard.econcs.turkserver.schema.Experiment;
import edu.harvard.econcs.turkserver.schema.Round;
import edu.harvard.econcs.turkserver.schema.Session;
public interface PaymentPolicy {
/**
* Whether the base reward should be paid for a session
* Adjust the recorded bonus as necessary
*
* @param session
* @param experiment
* @param experimentRounds
*
* @return true if the base reward should be paid, otherwise rejected
*/
boolean processSession(Session session, Experiment experiment, List<Round> experimentRounds);
/**
* Get the feedback to go along with the last base reward decision
* @return
*/
String getLastAssignmentFeedback();
/**
* Get the feedback to go along with the last checked bonus payment
* @return
*/
String getLastBonusFeedback();
}