
org.hibernate.search.analyzer.impl.LuceneAnalyzerReference Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of hibernate-search-engine Show documentation
Show all versions of hibernate-search-engine Show documentation
Core of the Object/Lucene mapper, query engine and index management
/*
* Hibernate Search, full-text search for your domain model
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later
* See the lgpl.txt file in the root directory or .
*/
package org.hibernate.search.analyzer.impl;
import org.apache.lucene.analysis.Analyzer;
import org.hibernate.search.util.impl.PassThroughAnalyzer;
/**
* A reference to an {@link Analyzer}.
*
* @author Davide D'Alto
*/
public class LuceneAnalyzerReference implements AnalyzerReference {
/**
* Analyzer that applies no operation whatsoever to the flux.
* This is useful for queries operating on non tokenized fields.
*/
public static final LuceneAnalyzerReference PASS_THROUGH = new LuceneAnalyzerReference( PassThroughAnalyzer.INSTANCE );
private final Analyzer analyzer;
public LuceneAnalyzerReference(Analyzer analyzer) {
this.analyzer = analyzer;
}
public Analyzer getAnalyzer() {
return analyzer;
}
@Override
public void close() {
analyzer.close();
}
@Override
public boolean is(Class analyzerType) {
return LuceneAnalyzerReference.class.isAssignableFrom( analyzerType );
}
@Override
@SuppressWarnings("unchecked")
public T unwrap(Class analyzerType) {
return (T) this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append( getClass().getSimpleName() );
sb.append( "<" );
sb.append( analyzer );
sb.append( ">" );
return sb.toString();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy