/* * 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.query.dsl.sort.impl; import org.apache.lucene.search.Sort; import org.hibernate.search.query.dsl.impl.QueryBuildingContext; import org.hibernate.search.query.dsl.sort.SortFieldContext; import org.hibernate.search.query.dsl.sort.SortMissingValueContext; /** * @author Emmanuel Bernard emmanuel@hibernate.org */ public class ConnectedSortFieldContext extends ConnectedSortAdditionalSortFieldContext implements SortFieldContext, SortMissingValueContext<SortFieldContext> { public ConnectedSortFieldContext(QueryBuildingContext queryContext, SortFieldStates states) { super( queryContext, states ); } @Override public SortFieldContext asc() { getStates().setAsc(); return this; } @Override public SortFieldContext desc() { getStates().setDesc(); return this; } @Override public Sort createSort() { getStates().closeSortField(); return getStates().createSort(); } @Override public SortMissingValueContext<SortFieldContext> onMissingValue() { return this; } @Override public SortFieldContext sortLast() { getStates().setCurrentMissingValueLast(); return this; } @Override public SortFieldContext sortFirst() { getStates().setCurrentMissingValueFirst(); return this; } @Override public SortFieldContext use(Object value) { getStates().setCurrentMissingValue( value ); return this; } }