package fr.openwide.core.jpa.more.business.search.query; import java.util.Collection; import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.search.Query; import org.bindgen.binding.AbstractBinding; import org.hibernate.search.query.dsl.QueryBuilder; public interface IHibernateSearchLuceneQueryFactory { Analyzer getAnalyzer(Class<?> clazz); Analyzer getDefaultAnalyzer(); QueryBuilder getQueryBuilder(Class<?> clazz); QueryBuilder getDefaultQueryBuilder(); void setDefaultClass(Class<?> defaultClass); Class<?> getDefaultClass(); Query any(QueryBuilder builder, Query ... queries); Query any(Query ... queries); Query all(QueryBuilder builder, Query ... queries); Query all(Query ... queries); Query matchNull(AbstractBinding<?, ?> binding); Query matchNull(QueryBuilder builder, AbstractBinding<?, ?> binding); Query matchNull(String fieldPath); Query matchNull(QueryBuilder builder, String fieldPath); <P> Query matchIfGiven(AbstractBinding<?, P> binding, P value); <P> Query matchIfGiven(QueryBuilder builder, AbstractBinding<?, P> binding, P value); <P> Query matchIfGiven(String fieldPath, P value); <P> Query matchIfGiven(QueryBuilder builder, String fieldPath, P value); Query matchOneTermIfGiven(AbstractBinding<?, String> binding, String terms); Query matchOneTermIfGiven(QueryBuilder builder, AbstractBinding<?, String> binding, String terms); Query matchOneTermIfGiven(String fieldPath, String terms); Query matchOneTermIfGiven(QueryBuilder builder, String fieldPath, String terms); Query matchAllTermsIfGiven(Analyzer analyzer, String terms, AbstractBinding<?, String> binding, @SuppressWarnings("unchecked") AbstractBinding<?, String> ... otherBindings); Query matchAllTermsIfGiven(String terms, AbstractBinding<?, String> binding, @SuppressWarnings("unchecked") AbstractBinding<?, String> ... otherBindings); Query matchAllTermsIfGiven(String terms, Iterable<String> fieldPaths); Query matchAllTermsIfGiven(Analyzer analyzer, String terms, Iterable<String> fieldPaths); Query matchAutocompleteIfGiven(Analyzer analyzer, String terms, AbstractBinding<?, String> binding, @SuppressWarnings("unchecked") AbstractBinding<?, String> ... otherBindings); Query matchAutocompleteIfGiven(String terms, AbstractBinding<?, String> binding, @SuppressWarnings("unchecked") AbstractBinding<?, String> ... otherBindings); Query matchAutocompleteIfGiven(String terms, Iterable<String> fieldPaths); Query matchAutocompleteIfGiven(Analyzer analyzer, String terms, Iterable<String> fieldPaths); Query matchFuzzyIfGiven(Analyzer analyzer, String terms, Integer maxEditDistance, AbstractBinding<?, String> binding, @SuppressWarnings("unchecked") AbstractBinding<?, String> ... otherBindings); Query matchFuzzyIfGiven(String terms, Integer maxEditDistance, AbstractBinding<?, String> binding, @SuppressWarnings("unchecked") AbstractBinding<?, String> ... otherBindings); Query matchFuzzyIfGiven(String terms, Integer maxEditDistance, Iterable<String> fieldPaths); Query matchFuzzyIfGiven(Analyzer analyzer, String terms, Integer maxEditDistance, Iterable<String> fieldPaths); <P> Query beIncludedIfGiven(AbstractBinding<?, ? extends Collection<P>> binding, P value); <P> Query beIncludedIfGiven(QueryBuilder builder, AbstractBinding<?, ? extends Collection<P>> binding, P value); <P> Query beIncludedIfGiven(String fieldPath, P value); <P> Query beIncludedIfGiven(QueryBuilder builder, String fieldPath, P value); <P> Query matchOneIfGiven(AbstractBinding<?, P> binding, Collection<? extends P> possibleValues); <P> Query matchOneIfGiven(QueryBuilder builder, AbstractBinding<?, P> binding, Collection<? extends P> possibleValues); <P> Query matchOneIfGiven(String fieldPath, Collection<? extends P> possibleValues); <P> Query matchOneIfGiven(QueryBuilder builder, String fieldPath, Collection<? extends P> possibleValues); <P> Query matchAllIfGiven(AbstractBinding<?, ? extends Collection<P>> binding, Collection<? extends P> possibleValues); <P> Query matchAllIfGiven(QueryBuilder builder, AbstractBinding<?, ? extends Collection<P>> binding, Collection<? extends P> possibleValues); <P> Query matchAllIfGiven(String fieldPath, Collection<? extends P> possibleValues); <P> Query matchAllIfGiven(QueryBuilder builder, String fieldPath, Collection<? extends P> values); Query matchIfTrue(AbstractBinding<?, Boolean> binding, boolean value, Boolean mustMatch); Query matchIfTrue(QueryBuilder builder, AbstractBinding<?, Boolean> binding, boolean value, Boolean mustMatch); <P> Query matchIfTrue(String fieldPath, boolean value, Boolean mustMatch); Query matchIfTrue(QueryBuilder builder, String fieldPath, boolean value, Boolean mustMatch); <P> Query matchRangeMin(AbstractBinding<?, P> binding, P min); <P> Query matchRangeMin(QueryBuilder builder, AbstractBinding<?, P> binding, P min); <P> Query matchRangeMin(String fieldPath, P min); <P> Query matchRangeMin(QueryBuilder builder, String fieldPath, P min); <P> Query matchRangeMax(AbstractBinding<?, P> binding, P max); <P> Query matchRangeMax(QueryBuilder builder, AbstractBinding<?, P> binding, P max); <P> Query matchRangeMax(String fieldPath, P max); <P> Query matchRangeMax(QueryBuilder builder, String fieldPath, P max); <P> Query matchRange(AbstractBinding<?, P> binding, P min, P max); <P> Query matchRange(QueryBuilder builder, AbstractBinding<?, P> binding, P min, P max); <P> Query matchRange(String fieldPath, P min, P max); <P> Query matchRange(QueryBuilder builder, String fieldPath, P min, P max); }