trim(String value) {
- return trim(Tools.field(value));
- }
-
- /**
- * Get the trim(field) function.
- *
- * This renders the trim function where available:
- * trim([field])
... or emulates it elsewhere using
- * rtrim and ltrim: ltrim(rtrim([field]))
- */
- @NotNull
- @Support
- public static Field trim(Field field) {
- return new Trim(Tools.nullSafe(field));
- }
-
- /**
- * Get the trim(field, characters) or
- * trim(both characters from field) function.
- *
- * @see #trim(Field, Field)
- */
- @NotNull
- @Support({ DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE })
- public static Field trim(String value, String characters) {
- return trim(Tools.field(value), Tools.field(characters));
- }
-
- /**
- * Get the trim(field, characters) or
- * trim(both characters from field) function.
- *
- * This renders the trim function where available:
- * trim([field])
... or emulates it elsewhere using
- * rtrim and ltrim: ltrim(rtrim([field]))
- */
- @NotNull
- @Support({ DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE })
- public static Field trim(Field field, Field characters) {
- return new Trim(Tools.nullSafe(field), Tools.nullSafe(characters));
- }
-
- /**
- * Get the rtrim(field) function.
- *
- * @see #rtrim(Field)
- */
- @NotNull
- @Support
- public static Field rtrim(String value) {
- return rtrim(Tools.field(value));
- }
-
- /**
- * Get the rtrim(field) function.
- *
- * This renders the rtrim function in all dialects:
- * rtrim([field])
- */
- @NotNull
- @Support
- public static Field rtrim(Field field) {
- return new RTrim(Tools.nullSafe(field));
- }
-
- /**
- * Get the rtrim(field, characters) or
- * trim(trailing characters from field) function.
- *
- * @see #rtrim(Field, Field)
- */
- @NotNull
- @Support({ DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE })
- public static Field rtrim(String value, String characters) {
- return rtrim(Tools.field(value), Tools.field(characters));
- }
-
- /**
- * Get the rtrim(field, characters) or
- * trim(trailing characters from field) function.
- *
- * This renders the rtrim function in all dialects:
- * rtrim([field])
- */
- @NotNull
- @Support({ DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE })
- public static Field rtrim(Field field, Field characters) {
- return new RTrim(Tools.nullSafe(field), Tools.nullSafe(characters));
- }
-
- /**
- * Get the ltrim(field) function.
- *
- * @see #ltrim(Field)
- */
- @NotNull
- @Support
- public static Field ltrim(String value) {
- return ltrim(Tools.field(value));
- }
-
- /**
- * Get the ltrim(field) function.
- *
- * This renders the ltrim function in all dialects:
- * ltrim([field])
- */
- @NotNull
- @Support
- public static Field ltrim(Field field) {
- return new LTrim(Tools.nullSafe(field));
- }
-
- /**
- * Get the ltrim(field, characters) or
- * trim(leading characters from field) function.
- *
- * @see #ltrim(Field, Field)
- */
- @NotNull
- @Support({ DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE })
- public static Field ltrim(String value, String characters) {
- return ltrim(Tools.field(value), Tools.field(characters));
- }
-
- /**
- * Get the ltrim(field, characters) or
- * trim(leading characters from field) function.
- *
- * This renders the ltrim function in all dialects:
- * ltrim([field])
- */
- @NotNull
- @Support({ DERBY, FIREBIRD, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE })
- public static Field ltrim(Field field, Field characters) {
- return new LTrim(Tools.nullSafe(field), Tools.nullSafe(characters));
- }
-
/**
* Get the rpad(field, length) function.
*
diff --git a/jOOQ/src/main/java/org/jooq/impl/LTrim.java b/jOOQ/src/main/java/org/jooq/impl/LTrim.java
index d9e3e4cd65..3158b8ef89 100644
--- a/jOOQ/src/main/java/org/jooq/impl/LTrim.java
+++ b/jOOQ/src/main/java/org/jooq/impl/LTrim.java
@@ -37,49 +37,69 @@
*/
package org.jooq.impl;
-import static org.jooq.impl.Keywords.K_FROM;
-import static org.jooq.impl.Keywords.K_LEADING;
-import static org.jooq.impl.Names.N_LTRIM;
-import static org.jooq.impl.Names.N_TRIM;
-import static org.jooq.impl.SQLDataType.VARCHAR;
+import static org.jooq.impl.DSL.*;
+import static org.jooq.impl.Internal.*;
+import static org.jooq.impl.Keywords.*;
+import static org.jooq.impl.Names.*;
+import static org.jooq.impl.SQLDataType.*;
+import static org.jooq.impl.Tools.*;
+import static org.jooq.impl.Tools.BooleanDataKey.*;
+import static org.jooq.SQLDialect.*;
-import org.jooq.Context;
-import org.jooq.Field;
+import org.jooq.*;
+import org.jooq.impl.*;
+
+import java.util.*;
/**
- * @author Lukas Eder
+ * The LTRIM statement.
*/
-final class LTrim extends AbstractField {
+@SuppressWarnings({ "rawtypes", "unchecked", "unused" })
+final class LTrim
+extends
+ AbstractField
+{
- /**
- * Generated UID
- */
- private static final long serialVersionUID = -7273879239726265322L;
+ private static final long serialVersionUID = 1L;
- private final Field argument;
+ private final Field string;
private final Field characters;
- LTrim(Field argument) {
- this(argument, null);
+ LTrim(
+ Field string
+ ) {
+ super(N_LTRIM, allNotNull(VARCHAR, string));
+
+ this.string = nullSafeNotNull(string, VARCHAR);
+ this.characters = null;
}
- LTrim(Field argument, Field characters) {
- super(N_LTRIM, VARCHAR);
+ LTrim(
+ Field string,
+ Field characters
+ ) {
+ super(N_LTRIM, allNotNull(VARCHAR, string, characters));
- this.argument = argument;
- this.characters = characters;
+ this.string = nullSafeNotNull(string, VARCHAR);
+ this.characters = nullSafeNotNull(characters, VARCHAR);
}
+ // -------------------------------------------------------------------------
+ // XXX: QueryPart API
+ // -------------------------------------------------------------------------
+
+
+
@Override
public final void accept(Context> ctx) {
if (characters == null) {
switch (ctx.family()) {
case FIREBIRD:
- ctx.visit(N_TRIM).sql('(').visit(K_LEADING).sql(' ').visit(K_FROM).sql(' ').visit(argument).sql(')');
+ ctx.visit(N_TRIM).sql('(').visit(K_LEADING).sql(' ').visit(K_FROM).sql(' ').visit(string).sql(')');
break;
default:
- ctx.visit(N_LTRIM).sql('(').visit(argument).sql(')');
+ ctx.visit(N_LTRIM).sql('(').visit(string).sql(')');
break;
}
}
@@ -91,13 +111,15 @@ final class LTrim extends AbstractField {
case SQLITE:
- ctx.visit(N_LTRIM).sql('(').visit(argument).sql(", ").visit(characters).sql(')');
+ ctx.visit(N_LTRIM).sql('(').visit(string).sql(", ").visit(characters).sql(')');
break;
default:
- ctx.visit(N_TRIM).sql('(').visit(K_LEADING).sql(' ').visit(characters).sql(' ').visit(K_FROM).sql(' ').visit(argument).sql(')');
+ ctx.visit(N_TRIM).sql('(').visit(K_LEADING).sql(' ').visit(characters).sql(' ').visit(K_FROM).sql(' ').visit(string).sql(')');
break;
}
}
}
+
+
}
diff --git a/jOOQ/src/main/java/org/jooq/impl/RTrim.java b/jOOQ/src/main/java/org/jooq/impl/RTrim.java
index d0dcab029a..cce41440e2 100644
--- a/jOOQ/src/main/java/org/jooq/impl/RTrim.java
+++ b/jOOQ/src/main/java/org/jooq/impl/RTrim.java
@@ -37,49 +37,69 @@
*/
package org.jooq.impl;
-import static org.jooq.impl.Keywords.K_FROM;
-import static org.jooq.impl.Keywords.K_TRAILING;
-import static org.jooq.impl.Names.N_RTRIM;
-import static org.jooq.impl.Names.N_TRIM;
-import static org.jooq.impl.SQLDataType.VARCHAR;
+import static org.jooq.impl.DSL.*;
+import static org.jooq.impl.Internal.*;
+import static org.jooq.impl.Keywords.*;
+import static org.jooq.impl.Names.*;
+import static org.jooq.impl.SQLDataType.*;
+import static org.jooq.impl.Tools.*;
+import static org.jooq.impl.Tools.BooleanDataKey.*;
+import static org.jooq.SQLDialect.*;
-import org.jooq.Context;
-import org.jooq.Field;
+import org.jooq.*;
+import org.jooq.impl.*;
+
+import java.util.*;
/**
- * @author Lukas Eder
+ * The RTRIM statement.
*/
-final class RTrim extends AbstractField {
+@SuppressWarnings({ "rawtypes", "unchecked", "unused" })
+final class RTrim
+extends
+ AbstractField
+{
- /**
- * Generated UID
- */
- private static final long serialVersionUID = -7273879239726265322L;
+ private static final long serialVersionUID = 1L;
- private final Field argument;
+ private final Field string;
private final Field characters;
- RTrim(Field argument) {
- this(argument, null);
+ RTrim(
+ Field string
+ ) {
+ super(N_RTRIM, allNotNull(VARCHAR, string));
+
+ this.string = nullSafeNotNull(string, VARCHAR);
+ this.characters = null;
}
- RTrim(Field argument, Field characters) {
- super(N_RTRIM, VARCHAR);
+ RTrim(
+ Field string,
+ Field characters
+ ) {
+ super(N_RTRIM, allNotNull(VARCHAR, string, characters));
- this.argument = argument;
- this.characters = characters;
+ this.string = nullSafeNotNull(string, VARCHAR);
+ this.characters = nullSafeNotNull(characters, VARCHAR);
}
+ // -------------------------------------------------------------------------
+ // XXX: QueryPart API
+ // -------------------------------------------------------------------------
+
+
+
@Override
public final void accept(Context> ctx) {
if (characters == null) {
switch (ctx.family()) {
case FIREBIRD:
- ctx.visit(N_TRIM).sql('(').visit(K_TRAILING).sql(' ').visit(K_FROM).sql(' ').visit(argument).sql(')');
+ ctx.visit(N_TRIM).sql('(').visit(K_TRAILING).sql(' ').visit(K_FROM).sql(' ').visit(string).sql(')');
break;
default:
- ctx.visit(N_RTRIM).sql('(').visit(argument).sql(')');
+ ctx.visit(N_RTRIM).sql('(').visit(string).sql(')');
break;
}
}
@@ -91,13 +111,15 @@ final class RTrim extends AbstractField {
case SQLITE:
- ctx.visit(N_RTRIM).sql('(').visit(argument).sql(", ").visit(characters).sql(')');
+ ctx.visit(N_RTRIM).sql('(').visit(string).sql(", ").visit(characters).sql(')');
break;
default:
- ctx.visit(N_TRIM).sql('(').visit(K_TRAILING).sql(' ').visit(characters).sql(' ').visit(K_FROM).sql(' ').visit(argument).sql(')');
+ ctx.visit(N_TRIM).sql('(').visit(K_TRAILING).sql(' ').visit(characters).sql(' ').visit(K_FROM).sql(' ').visit(string).sql(')');
break;
}
}
}
+
+
}
diff --git a/jOOQ/src/main/java/org/jooq/impl/Trim.java b/jOOQ/src/main/java/org/jooq/impl/Trim.java
index e199467ee8..3abd56a49d 100644
--- a/jOOQ/src/main/java/org/jooq/impl/Trim.java
+++ b/jOOQ/src/main/java/org/jooq/impl/Trim.java
@@ -37,53 +37,64 @@
*/
package org.jooq.impl;
-// ...
-// ...
-// ...
-import static org.jooq.SQLDialect.SQLITE;
-// ...
-// ...
-import static org.jooq.impl.Keywords.K_BOTH;
-import static org.jooq.impl.Keywords.K_FROM;
-import static org.jooq.impl.Names.N_TRIM;
-import static org.jooq.impl.SQLDataType.VARCHAR;
+import static org.jooq.impl.DSL.*;
+import static org.jooq.impl.Internal.*;
+import static org.jooq.impl.Keywords.*;
+import static org.jooq.impl.Names.*;
+import static org.jooq.impl.SQLDataType.*;
+import static org.jooq.impl.Tools.*;
+import static org.jooq.impl.Tools.BooleanDataKey.*;
+import static org.jooq.SQLDialect.*;
-import java.util.Set;
+import org.jooq.*;
+import org.jooq.impl.*;
-import org.jooq.Context;
-import org.jooq.Field;
-// ...
-import org.jooq.SQLDialect;
+import java.util.*;
/**
- * @author Lukas Eder
+ * The TRIM statement.
*/
-final class Trim extends AbstractField {
+@SuppressWarnings({ "rawtypes", "unchecked", "unused" })
+final class Trim
+extends
+ AbstractField
+{
- /**
- * Generated UID
- */
- private static final long serialVersionUID = -7273879239726265322L;
+ private static final long serialVersionUID = 1L;
-
-
-
-
-
- private final Field argument;
+ private final Field string;
private final Field characters;
- Trim(Field argument) {
- this(argument, null);
+ Trim(
+ Field string
+ ) {
+ super(N_TRIM, allNotNull(VARCHAR, string));
+
+ this.string = nullSafeNotNull(string, VARCHAR);
+ this.characters = null;
}
- Trim(Field argument, Field characters) {
- super(N_TRIM, VARCHAR);
+ Trim(
+ Field string,
+ Field characters
+ ) {
+ super(N_TRIM, allNotNull(VARCHAR, string, characters));
- this.argument = argument;
- this.characters = characters;
+ this.string = nullSafeNotNull(string, VARCHAR);
+ this.characters = nullSafeNotNull(characters, VARCHAR);
}
+ // -------------------------------------------------------------------------
+ // XXX: QueryPart API
+ // -------------------------------------------------------------------------
+
+
+
+
+
+
+
+
@Override
public final void accept(Context> ctx) {
if (characters == null) {
@@ -92,15 +103,17 @@ final class Trim extends AbstractField {
- ctx.visit(N_TRIM).sql('(').visit(argument).sql(')');
+ ctx.visit(N_TRIM).sql('(').visit(string).sql(')');
}
else if (ctx.family() == SQLITE)
- ctx.visit(N_TRIM).sql('(').visit(argument).sql(", ").visit(characters).sql(')');
+ ctx.visit(N_TRIM).sql('(').visit(string).sql(", ").visit(characters).sql(')');
else
- ctx.visit(N_TRIM).sql('(').visit(K_BOTH).sql(' ').visit(characters).sql(' ').visit(K_FROM).sql(' ').visit(argument).sql(')');
+ ctx.visit(N_TRIM).sql('(').visit(K_BOTH).sql(' ').visit(characters).sql(' ').visit(K_FROM).sql(' ').visit(string).sql(')');
}
+
+
}