[jOOQ/jOOQ#11330] Let Parameter<T> extend Variable<T>
This commit is contained in:
parent
fb83bee182
commit
cfdc38c081
@ -49,7 +49,12 @@ package org.jooq;
|
||||
* @param <T> The parameter type
|
||||
* @author Lukas Eder
|
||||
*/
|
||||
public interface Parameter<T> extends Named, Typed<T> {
|
||||
public interface Parameter<T>
|
||||
extends
|
||||
|
||||
Named,
|
||||
Typed<T>
|
||||
{
|
||||
|
||||
/**
|
||||
* Whether this parameter has a default value
|
||||
|
||||
@ -37,7 +37,7 @@
|
||||
*/
|
||||
package org.jooq;
|
||||
|
||||
import org.jetbrains.annotations.*;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -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<T> extends AbstractTypedNamed<T> implements Parameter<T> {
|
||||
final class ParameterImpl<T> extends AbstractField<T> implements Parameter<T> {
|
||||
|
||||
private static final long serialVersionUID = -5277225593751085577L;
|
||||
|
||||
@ -57,6 +63,13 @@ final class ParameterImpl<T> extends AbstractTypedNamed<T> implements Parameter<
|
||||
private final boolean isDefaulted;
|
||||
private final boolean isUnnamed;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
ParameterImpl(ParamMode paramMode, Name name, DataType<T> type) {
|
||||
this(paramMode, name, type, type.defaulted(), name == null || name.empty());
|
||||
}
|
||||
@ -66,18 +79,35 @@ final class ParameterImpl<T> extends AbstractTypedNamed<T> implements Parameter<
|
||||
*/
|
||||
@Deprecated
|
||||
ParameterImpl(ParamMode paramMode, Name name, DataType<T> 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<T> extends AbstractTypedNamed<T> implements Parameter<
|
||||
public final boolean isUnnamed() {
|
||||
return isUnnamed;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -125,6 +125,5 @@ package org.jooq.impl;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user