/* * 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 <http://www.gnu.org/licenses/lgpl-2.1.html>. */ package org.hibernate.search.test.filter; import org.apache.lucene.index.Term; import org.apache.lucene.search.Query; import org.apache.lucene.search.TermQuery; import org.hibernate.search.annotations.Factory; import org.hibernate.search.annotations.Key; import org.hibernate.search.filter.FilterKey; import org.hibernate.search.filter.StandardFilterKey; import org.hibernate.search.filter.impl.CachingWrapperQuery; /** * Creates a filter for a given field. * * @author Hardy Ferentschik */ public class FieldConstraintFilterFactory { private String field; private String value; @Factory public Query buildFilter() { Query q = new TermQuery( new Term( field, value ) ); return new CachingWrapperQuery( q ); } public void setField(String field) { this.field = field; } public void setValue(String value) { this.value = value; } @Key public FilterKey getKey() { StandardFilterKey key = new StandardFilterKey(); key.addParameter( field ); key.addParameter( value ); return key; } }