/** * @param str * @return ltrim(str) */ public static StringExpression ltrim(Expression<String> str) { return StringOperation.create(Ops.StringOps.LTRIM, str); }
public static StringExpression create(Operator<? super String> op, Expression<?>... args) { return new StringOperation(op, args); }
/** * Create a new Operation expression * * @param operator * @param args * @return */ public static StringExpression stringOperation(Operator<? super String> operator, Expression<?>... args) { return StringOperation.create(operator, args); }
public static StringExpression create(Operator<? super String> op, Expression<?> one) { return new StringOperation(op, ImmutableList.<Expression<?>>of(one)); }
/** * Get the concatenation of this and str * * @param str * @return this + str */ public StringExpression append(Expression<String> str) { return StringOperation.create(Ops.CONCAT, mixin, str); }
public static StringExpression create(Operator<? super String> op, Expression<?> one, Expression<?> two) { return new StringOperation(op, ImmutableList.of(one, two)); }
/** * Get the lower case form * * @return this.toLowerCase() * @see java.lang.String#toLowerCase() */ public StringExpression lower() { if (lower == null) { lower = StringOperation.create(Ops.LOWER, mixin); } return lower; }
/** * Get the given substring * * @param beginIndex * @return this.substring(beginIndex) * @see java.lang.String#substring(int) */ public StringExpression substring(Expression<Integer> beginIndex) { return StringOperation.create(Ops.SUBSTR_1ARG, mixin, beginIndex); }
/** * Get the given substring * * @param beginIndex * @param endIndex * @return this.substring(beginIndex, endIndex) * @see java.lang.String#substring(int, int) */ public StringExpression substring(Expression<Integer> beginIndex, Expression<Integer> endIndex) { return StringOperation.create(Ops.SUBSTR_2ARGS, mixin, beginIndex, endIndex); }
/** * @param in * @param length * @return */ public static StringExpression lpad(Expression<String> in, Expression<Integer> length) { return StringOperation.create(Ops.StringOps.LPAD, in, length); }
@SuppressWarnings("unchecked") @Override protected StringExpression createResult(Class<String> type, Expression<String> last) { return StringOperation.create(Ops.CASE, last); }
/** * Get the minimum value of this expression (aggregation) * * @return min(this) */ public StringExpression min() { if (min == null) { min = StringOperation.create(Ops.AggOps.MIN_AGG, mixin); } return min; }
@SuppressWarnings("unchecked") @Override protected StringExpression createResult(Class<String> type, Expression<String> last) { return StringOperation.create(Ops.CASE_EQ, base, last); }
/** * Get the maximum value of this expression (aggregation) * * @return max(this) */ public StringExpression max() { if (max == null) { max = StringOperation.create(Ops.AggOps.MAX_AGG, mixin); } return max; }
/** * @param str * @return rtrim(str) */ public static StringExpression rtrim(Expression<String> str) { return StringOperation.create(Ops.StringOps.RTRIM, str); }
/** * Get a cast to String expression * * @see java.lang.Object#toString() * @return */ public StringExpression stringValue() { if (stringCast == null) { stringCast = StringOperation.create(Ops.STRING_CAST, mixin); } return stringCast; }
/** * Get a cast to String expression * * @see java.lang.Object#toString() * @return */ public StringExpression stringValue() { if (stringCast == null) { stringCast = StringOperation.create(Ops.STRING_CAST, this); } return stringCast; }
/** * Get the rhs leftmost characters of lhs * * @param lhs * @param rhs * @return */ public static StringExpression right(Expression<String> lhs, Expression<Integer> rhs) { return StringOperation.create(Ops.StringOps.RIGHT, lhs, rhs); }
@Override public StringExpression as(Path<String> alias) { return StringOperation.create(Ops.ALIAS, mixin, alias); }
/** * Get a copy of the string, with leading and trailing whitespace * omitted. * * @return * @see java.lang.String#trim() */ public StringExpression trim() { if (trim == null) { trim = StringOperation.create(Ops.TRIM, mixin); } return trim; }