/** * Create a {@code concat(this, str)} expression * * <p>Get the concatenation of this and str</p> * * @param str string to append * @return this + str */ public StringExpression append(Expression<String> str) { return Expressions.stringOperation(Ops.CONCAT, mixin, str); }
/** * Create a {@code ltrim(str)} expression * * <p>Returns a character expression after it removes leading blanks.</p> * * @param str string * @return ltrim(str) */ public static StringExpression ltrim(Expression<String> str) { return Expressions.stringOperation(Ops.StringOps.LTRIM, str); }
/** * Create a cast to String expression * * @see java.lang.Object#toString() * @return cast expression */ public StringExpression stringValue() { if (stringCast == null) { stringCast = Expressions.stringOperation(Ops.STRING_CAST, mixin); } return stringCast; }
/** * Create a {@code rtrim(str)} expression * * <p>Returns a character string after truncating all trailing blanks.</p> * * @param str string * @return rtrim(str) */ public static StringExpression rtrim(Expression<String> str) { return Expressions.stringOperation(Ops.StringOps.RTRIM, str); }
/** * Returns the name of the instantiable subtype of Geometry of which this * geometric object is an instantiable member. The name of the subtype of Geometry is returned as a string. * * @return geometry type */ public StringExpression geometryType() { if (geometryType == null) { geometryType = Expressions.stringOperation(SpatialOps.GEOMETRY_TYPE, mixin); } return geometryType; }
@SuppressWarnings("unchecked") @Override protected StringExpression createResult(Class<String> type, Expression<String> last) { return Expressions.stringOperation(Ops.CASE_EQ, base, last); }
/** * Create a {@code this.substring(beginIndex, endIndex)} expression * * @param beginIndex inclusive start index * @param endIndex exclusive end index * @return this.substring(beginIndex, endIndex) * @see java.lang.String#substring(int, int) */ public StringExpression substring(Expression<Integer> beginIndex, Expression<Integer> endIndex) { return Expressions.stringOperation(Ops.SUBSTR_2ARGS, mixin, beginIndex, endIndex); }
/** * Return a specified ST_Geometry value from Extended Well-Known Text representation (EWKT). * * @param expr geometry * @return serialized form */ public static StringExpression asEWKT(GeometryExpression<?> expr) { return Expressions.stringOperation(SpatialOps.AS_EWKT, expr); }
/** * Return a specified ST_Geometry value from Extended Well-Known Text representation (EWKT). * * @param expr geometry * @return EWKT form */ public static StringExpression asEWKT(JTSGeometryExpression<?> expr) { return Expressions.stringOperation(SpatialOps.AS_EWKT, expr); }
@SuppressWarnings("unchecked") @Override protected StringExpression createResult(Class<? extends String> type, Expression<String> last) { return Expressions.stringOperation(Ops.CASE, last); }
/** * Returns the name of the instantiable subtype of Geometry of which this * geometric object is an instantiable member. The name of the subtype of Geometry is returned as a string. * * @return geometry type */ public StringExpression geometryType() { if (geometryType == null) { geometryType = Expressions.stringOperation(SpatialOps.GEOMETRY_TYPE, mixin); } return geometryType; }
/** * Create a {@code rpad(in, length)} expression * * <p>Returns in right-padded to length characters</p> * * @param in string to be padded * @param length target length * @return rpad(in, length) */ public static StringExpression rpad(Expression<String> in, Expression<Integer> length) { return Expressions.stringOperation(Ops.StringOps.RPAD, in, length); }
/** * Create a {@code this.substring(beginIndex)} expression * * @param beginIndex inclusive start index * @return this.substring(beginIndex) * @see java.lang.String#substring(int) */ public StringExpression substring(int beginIndex) { return Expressions.stringOperation(Ops.SUBSTR_1ARG, mixin, ConstantImpl.create(beginIndex)); }
/** * Create a {@code this.substring(beginIndex, endIndex)} expression * * @param beginIndex inclusive start index * @param endIndex exclusive end index * @return this.substring(beginIndex, endIndex) * @see java.lang.String#substring(int, int) */ public StringExpression substring(int beginIndex, Expression<Integer> endIndex) { return Expressions.stringOperation(Ops.SUBSTR_2ARGS, mixin, ConstantImpl.create(beginIndex), endIndex); }
/** * Create a {@code this.substring(beginIndex, endIndex)} expression * * @param beginIndex inclusive start index * @param endIndex exclusive end index * @return this.substring(beginIndex, endIndex) * @see java.lang.String#substring(int, int) */ public StringExpression substring(Expression<Integer> beginIndex, int endIndex) { return Expressions.stringOperation(Ops.SUBSTR_2ARGS, mixin, beginIndex, ConstantImpl.create(endIndex)); }
/** * Create a {@code lpad(in, length)} expression * * <p>Returns in left-padded to length characters</p> * * @param in string to be padded * @param length target length * @return lpad(in, length) */ public static StringExpression lpad(Expression<String> in, int length) { return Expressions.stringOperation(Ops.StringOps.LPAD, in, ConstantImpl.create(length)); }
/** * Create a {@code rpad(in, length)} expression * * <p>Returns in right-padded to length characters</p> * * @param in string to be padded * @param length target length * @return rpad(in, length) */ public static StringExpression rpad(Expression<String> in, int length) { return Expressions.stringOperation(Ops.StringOps.RPAD, in, ConstantImpl.create(length)); }
/** * Create a {@code lpad(in, length, c)} expression * * <p>Returns in left-padded to length characters with c</p> * * @param in string to be padded * @param length target length * @param c padding char * @return lpad(in, length, c) */ public static StringExpression lpad(Expression<String> in, int length, char c) { return Expressions.stringOperation(Ops.StringOps.LPAD2, in, ConstantImpl.create(length), ConstantImpl.create(c)); }
/** * Create a {@code this.substring(beginIndex, endIndex)} expression * * @param beginIndex inclusive start index * @param endIndex exclusive end index * @return this.substring(beginIndex, endIndex) * @see java.lang.String#substring(int, int) */ public StringExpression substring(int beginIndex, int endIndex) { return Expressions.stringOperation(Ops.SUBSTR_2ARGS, mixin, ConstantImpl.create(beginIndex), ConstantImpl.create(endIndex)); }
@Test public void stringOperation() { assertEquals("substring(str,2)", Expressions.stringOperation(Ops.SUBSTR_1ARG, str, ConstantImpl.create(2)).toString()); }