From cfdc38c0819da3762dbec44396d76df5050ba7b8 Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Thu, 28 Jan 2021 09:45:33 +0100 Subject: [PATCH] [jOOQ/jOOQ#11330] Let Parameter extend Variable --- jOOQ/src/main/java/org/jooq/Parameter.java | 7 ++- jOOQ/src/main/java/org/jooq/Variable.java | 2 +- .../java/org/jooq/impl/ParameterImpl.java | 62 ++++++++++++++++++- .../main/java/org/jooq/impl/VariableImpl.java | 1 - 4 files changed, 67 insertions(+), 5 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/Parameter.java b/jOOQ/src/main/java/org/jooq/Parameter.java index f3323c550a..f752cdbab2 100644 --- a/jOOQ/src/main/java/org/jooq/Parameter.java +++ b/jOOQ/src/main/java/org/jooq/Parameter.java @@ -49,7 +49,12 @@ package org.jooq; * @param The parameter type * @author Lukas Eder */ -public interface Parameter extends Named, Typed { +public interface Parameter +extends + + Named, + Typed +{ /** * Whether this parameter has a default value diff --git a/jOOQ/src/main/java/org/jooq/Variable.java b/jOOQ/src/main/java/org/jooq/Variable.java index c3de861fa0..033db91638 100644 --- a/jOOQ/src/main/java/org/jooq/Variable.java +++ b/jOOQ/src/main/java/org/jooq/Variable.java @@ -37,7 +37,7 @@ */ package org.jooq; -import org.jetbrains.annotations.*; + diff --git a/jOOQ/src/main/java/org/jooq/impl/ParameterImpl.java b/jOOQ/src/main/java/org/jooq/impl/ParameterImpl.java index eef4cff8e2..ab5a28e159 100644 --- a/jOOQ/src/main/java/org/jooq/impl/ParameterImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/ParameterImpl.java @@ -40,16 +40,22 @@ package org.jooq.impl; import org.jooq.Context; import org.jooq.DataType; +import org.jooq.Field; import org.jooq.Name; import org.jooq.ParamMode; import org.jooq.Parameter; +// ... +import org.jooq.Record1; +import org.jooq.Select; +import org.jooq.Statement; +// ... /** * A common base class for stored procedure parameters * * @author Lukas Eder */ -final class ParameterImpl extends AbstractTypedNamed implements Parameter { +final class ParameterImpl extends AbstractField implements Parameter { private static final long serialVersionUID = -5277225593751085577L; @@ -57,6 +63,13 @@ final class ParameterImpl extends AbstractTypedNamed implements Parameter< private final boolean isDefaulted; private final boolean isUnnamed; + + + + + + + ParameterImpl(ParamMode paramMode, Name name, DataType type) { this(paramMode, name, type, type.defaulted(), name == null || name.empty()); } @@ -66,18 +79,35 @@ final class ParameterImpl extends AbstractTypedNamed implements Parameter< */ @Deprecated ParameterImpl(ParamMode paramMode, Name name, DataType type, boolean isDefaulted, boolean isUnnamed) { - super(name, CommentImpl.NO_COMMENT, type); + super(name, type); this.paramMode = paramMode; this.isDefaulted = isDefaulted; this.isUnnamed = isUnnamed; + + + + } + // ------------------------------------------------------------------------- + // XXX: QueryPart API + // ------------------------------------------------------------------------- + @Override public final void accept(Context ctx) { + + + + + ctx.visit(getUnqualifiedName()); } + // ------------------------------------------------------------------------- + // XXX: Parameter API + // ------------------------------------------------------------------------- + @Override public final ParamMode getParamMode() { return paramMode; @@ -92,4 +122,32 @@ final class ParameterImpl extends AbstractTypedNamed implements Parameter< public final boolean isUnnamed() { return isUnnamed; } + + + + + + + + + + + + + + + + + + + + + + + + + + + + } diff --git a/jOOQ/src/main/java/org/jooq/impl/VariableImpl.java b/jOOQ/src/main/java/org/jooq/impl/VariableImpl.java index c6c64ce0e1..5048214229 100644 --- a/jOOQ/src/main/java/org/jooq/impl/VariableImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/VariableImpl.java @@ -125,6 +125,5 @@ package org.jooq.impl; -