package com.tyndalehouse.step.core.service;
import com.tyndalehouse.step.core.models.stats.ScopeType;
import com.tyndalehouse.step.core.models.stats.StatType;
import com.tyndalehouse.step.core.models.stats.CombinedPassageStats;
/**
* Defines an interface for obtaining various stats on a passage.
*
* @author chrisburrell
*/
public interface AnalysisService {
/**
* Obtains stats for a particular versions, word stats, strong stats and subject stats
*
* @param version the version
* @param reference the reference
* @param statType the type of analysis that we will do
* @param scopeType restricts to a particular chapter/1 chapter either side/book
* @param nextChapter perform analysis on next chapter, not this one
* @return the all stats
*/
CombinedPassageStats getStatsForPassage(String version, String reference, final StatType statType, final ScopeType scopeType, boolean nextChapter);
}