001package org.xbib.elasticsearch.index.analysis.standardnumber;
002
003import org.elasticsearch.common.inject.Inject;
004import org.elasticsearch.common.inject.assistedinject.Assisted;
005import org.elasticsearch.common.settings.Settings;
006import org.elasticsearch.index.Index;
007import org.elasticsearch.index.analysis.AbstractIndexAnalyzerProvider;
008import org.elasticsearch.index.analysis.UniqueTokenFilterFactory;
009import org.elasticsearch.index.analysis.WhitespaceTokenizerFactory;
010import org.elasticsearch.index.settings.IndexSettings;
011
012public class StandardNumberAnalyzerProvider extends AbstractIndexAnalyzerProvider<StandardNumberAnalyzer> {
013
014    private final StandardNumberAnalyzer analyzer;
015
016    @Inject
017    public StandardNumberAnalyzerProvider(Index index, @IndexSettings Settings indexSettings,
018                                          WhitespaceTokenizerFactory tokenizerFactory,
019                                          StandardNumberTokenFilterFactory stdnumTokenFilterFactory,
020                                          UniqueTokenFilterFactory uniqueTokenFilterFactory,
021                                           @Assisted String name, @Assisted Settings settings) {
022        super(index, indexSettings, name, settings);
023        this.analyzer = new StandardNumberAnalyzer(tokenizerFactory, stdnumTokenFilterFactory, uniqueTokenFilterFactory);
024    }
025
026    @Override
027    public StandardNumberAnalyzer get() {
028        return this.analyzer;
029    }
030}