package org.fastcatsearch.ir.analysis; import org.apache.lucene.analysis.Analyzer; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * factory가 없는 analyzer에 대해서 factory를 생성해준다. * analyzer생성에 별도의 외부객체나 로직이 필요없는 경우 이 factory를 사용하여 별도의 factory개발의 수고를 덜수 있다. * */ public class DefaultAnalyzerFactory implements AnalyzerFactory { protected static final Logger logger = LoggerFactory.getLogger(DefaultAnalyzerFactory.class); protected Class<? extends Analyzer> analyzerClass; public DefaultAnalyzerFactory(Class<? extends Analyzer> analyzerClass) { this.analyzerClass = analyzerClass; } @Override public Analyzer create() { try { return analyzerClass.newInstance(); } catch (Exception e) { logger.error("{}를 생성하지 못했습니다.", analyzerClass.getName()); } return null; } @Override public void init() { } @Override public Class<? extends Analyzer> getAnalyzerClass() { return analyzerClass; } }