All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.hibernate.query.criteria.internal.OrderImpl Maven / Gradle / Ivy

There is a newer version: 5.6.15.Final
Show newest version
/*
 * Hibernate, Relational Persistence for Idiomatic Java
 *
 * 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.query.criteria.internal;

import java.io.Serializable;
import jakarta.persistence.criteria.Expression;
import jakarta.persistence.criteria.Order;

/**
 * Represents an ORDER BY fragment.
 *
 * @author Steve Ebersole
 */
public class OrderImpl implements Order, Serializable {

	private final Expression expression;
	private final boolean ascending;
	private final Boolean nullsFirst;

	public OrderImpl(Expression expression) {
		this( expression, true, null );
	}

	public OrderImpl(Expression expression, boolean ascending) {
		this(expression, ascending, null);
	}

	public OrderImpl(Expression expression, boolean ascending, Boolean nullsFirst) {
		this.expression = expression;
		this.ascending = ascending;
		this.nullsFirst = nullsFirst;
	}

	public Order reverse() {
		return new OrderImpl( expression, !ascending );
	}

	public boolean isAscending() {
		return ascending;
	}

	public Expression getExpression() {
		return expression;
	}

	public Boolean getNullsFirst() {
		return nullsFirst;
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy