package cn.yiiguxing.plugin.translate; import cn.yiiguxing.plugin.translate.model.QueryResult; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.util.List; public interface TranslationContract { interface Presenter { /** * @return 历史记录列表 */ @NotNull List<String> getHistory(); /** * @param query 查询 * @return 翻译缓存 */ @Nullable QueryResult getCache(String query); /** * 查询翻译 * * @param query 查询字符串 */ void query(@Nullable String query); } interface View { /** * 显示翻译结果 * * @param query 查询字符串 * @param result 翻译结果 */ void showResult(@NotNull String query, @NotNull QueryResult result); /** * 显示错误信息 * * @param query 查询字符串 * @param error 错误信息 */ void showError(@NotNull String query, @NotNull String error); } }