@Override protected ComparableExpression<T> createResult(Class<T> type, Expression<T> last) { return Expressions.comparableOperation(type, Ops.CASE_EQ, base, last); }
@Override protected ComparableExpression<T> createResult(Class<? extends T> type, Expression<T> last) { return Expressions.comparableOperation(type, Ops.CASE, last); }
/** * Create a {@code this.charAt(i)} expression * * <p>Get the character at the given index</p> * * @param i zero based index * @return this.charAt(i) * @see java.lang.String#charAt(int) */ public SimpleExpression<Character> charAt(Expression<Integer> i) { return Expressions.comparableOperation(Character.class, Ops.CHAR_AT, mixin, i); }
@Override public ComparableExpression<T> as(Path<T> alias) { return Expressions.comparableOperation(getType(), Ops.ALIAS, mixin, alias); }
public ComparableExpression<T> getValue() { if (value == null) { value = Expressions.comparableOperation(getType(), Ops.COALESCE, getExpressionList()); } return value; }
@Test public void comparableOperation() { assertEquals("a && b", Expressions.comparableOperation(Boolean.class, Ops.AND, a, b).toString()); }
/** * Create a {@code this.charAt(i)} expression * * <p>Get the character at the given index</p> * * @param i zero based index * @return this.charAt(i) * @see java.lang.String#charAt(int) */ public SimpleExpression<Character> charAt(Expression<Integer> i) { return Expressions.comparableOperation(Character.class, Ops.CHAR_AT, mixin, i); }
@Override protected ComparableExpression<T> createResult(Class<T> type, Expression<T> last) { return Expressions.comparableOperation(type, Ops.CASE_EQ, base, last); }
@Override protected ComparableExpression<T> createResult(Class<? extends T> type, Expression<T> last) { return Expressions.comparableOperation(type, Ops.CASE, last); }
/** * Create a min(col) expression * * @param left collection * @return min(col) */ public static <A extends Comparable<? super A>> ComparableExpression<A> min(CollectionExpression<?,A> left) { return Expressions.comparableOperation((Class) left.getParameter(0), Ops.QuantOps.MIN_IN_COL, (Expression<?>) left); }
/** * Create a max(col) expression * * @param left collection * @return max(col) */ public static <A extends Comparable<? super A>> ComparableExpression<A> max(CollectionExpression<?,A> left) { return Expressions.comparableOperation((Class) left.getParameter(0), Ops.QuantOps.MAX_IN_COL, (Expression<?>) left); }
/** * Create a avg(col) expression * * @param col collection * @return avg(col) */ public static <A extends Comparable<? super A>> ComparableExpression<A> avg(CollectionExpression<?,A> col) { return Expressions.comparableOperation((Class) col.getParameter(0), Ops.QuantOps.AVG_IN_COL, (Expression<?>) col); }
@Override public ComparableExpression<T> as(Path<T> alias) { return Expressions.comparableOperation(getType(), Ops.ALIAS, mixin, alias); }
public ComparableExpression<T> getValue() { if (value == null) { value = Expressions.comparableOperation(getType(), Ops.COALESCE, getExpressionList()); } return value; }