diff --git a/jOOQ/src/main/java/org/jooq/Param.java b/jOOQ/src/main/java/org/jooq/Param.java index 5c499374c8..ad9d48298a 100644 --- a/jOOQ/src/main/java/org/jooq/Param.java +++ b/jOOQ/src/main/java/org/jooq/Param.java @@ -40,6 +40,7 @@ */ package org.jooq; +import org.jooq.conf.ParamType; import org.jooq.exception.DataTypeException; import org.jooq.impl.DSL; import org.jooq.tools.Convert; @@ -119,4 +120,9 @@ public interface Param extends Field { * A flag on the bind value to force it to be inlined in rendered SQL */ boolean isInline(); + + /** + * The parameter type. + */ + ParamType getParamType(); } diff --git a/jOOQ/src/main/java/org/jooq/impl/AbstractParam.java b/jOOQ/src/main/java/org/jooq/impl/AbstractParam.java index 5e4c32abfb..9edacc31c6 100644 --- a/jOOQ/src/main/java/org/jooq/impl/AbstractParam.java +++ b/jOOQ/src/main/java/org/jooq/impl/AbstractParam.java @@ -42,7 +42,9 @@ package org.jooq.impl; import static org.jooq.Clause.FIELD; import static org.jooq.Clause.FIELD_VALUE; +import static org.jooq.conf.ParamType.INDEXED; import static org.jooq.conf.ParamType.INLINED; +import static org.jooq.conf.ParamType.NAMED; import static org.jooq.conf.ParamType.NAMED_OR_INLINED; // ... @@ -51,6 +53,7 @@ import org.jooq.Context; import org.jooq.DataType; import org.jooq.Param; import org.jooq.UDTRecord; +import org.jooq.conf.ParamType; import org.jooq.tools.StringUtils; /** @@ -157,4 +160,14 @@ abstract class AbstractParam extends AbstractField implements Param { || (context.paramType() == INLINED) || (context.paramType() == NAMED_OR_INLINED && StringUtils.isBlank(paramName)); } + + @Override + public final ParamType getParamType() { + return inline + ? INLINED + : StringUtils.isBlank(paramName) + ? INDEXED + : NAMED + ; + } }