001package com.ericlam.mc.eld.managers; 002 003import com.ericlam.mc.eld.misc.ArgParser; 004 005/** 006 * 參數解析管理器 007 * @param <Sender> 平台所屬指令發送者類型 008 */ 009public interface ArgumentManager<Sender> { 010 011 /** 012 * 註冊參數解析 013 * @param parser 要解析的類型 014 * @param getter 解析器 015 * @param <T> 類型 016 */ 017 <T> void registerParser(Class<T> parser, ArgParser<T, Sender> getter); 018 019 /** 020 * 註冊有標識文字的參數解析 021 * @param parser 要解析的類型 022 * @param identifier 標識文字 023 * @param getter 解析器 024 * @param <T> 類型 025 */ 026 <T> void registerParser(Class<T> parser, String identifier, ArgParser<T, Sender> getter); 027 028}