class AnalysisPinyinPlugin extends Plugin implements AnalysisPlugin {

  @Override
  public Map<String, AnalysisModule.AnalysisProvider<TokenizerFactory>> getTokenizers() {<FILL_FUNCTION_BODY>}

  @Override
  public Map<String, AnalysisModule.AnalysisProvider<org.opensearch.index.analysis.TokenFilterFactory>> getTokenFilters() {
    Map<String, AnalysisModule.AnalysisProvider<org.opensearch.index.analysis.TokenFilterFactory>> extra = new HashMap<>();
    extra.put("pinyin", PinyinTokenFilterFactory::new);
    return extra;
  }

  @Override
  public Map<String, AnalysisModule.AnalysisProvider<AnalyzerProvider<? extends Analyzer>>> getAnalyzers() {
    return Collections.singletonMap("pinyin", PinyinAnalyzerProvider::new);
  }
}

    Map<String, AnalysisModule.AnalysisProvider<TokenizerFactory>> extra = new HashMap<>();
    extra.put("pinyin", PinyinTokenizerFactory::new);
    extra.put("pinyin_first_letter", PinyinAbbreviationsTokenizerFactory::new);
    return extra;
  
<no_super_class>