package org.basex.query.flwor; import org.basex.query.QueryContext; import org.basex.query.QueryException; import org.basex.query.expr.ParseExpr; import org.basex.query.item.Item; import org.basex.query.util.Var; import org.basex.util.InputInfo; /** * Abstract container for order by clauses. * * @author BaseX Team 2005-12, BSD License * @author Christian Gruen */ public abstract class OrderBy extends ParseExpr { /** Ascending/descending order. */ boolean desc; /** Order for empty expressions. */ boolean lst; /** * Empty constructor for stable sorting. * @param ii input info */ OrderBy(final InputInfo ii) { super(ii); } /** * Returns the sort key in the given context. * @param ctx query context * @param i current position * @return sort key * @throws QueryException query exception */ abstract Item key(final QueryContext ctx, final int i) throws QueryException; @Override public OrderBy remove(final Var v) { return this; } }