- java.lang.Object
-
- org.jooq.impl.AbstractRoutine<T>
-
- All Implemented Interfaces:
Serializable,Attachable,Named,QueryPart,QueryPartInternal,Routine<T>
@Internal public abstract class AbstractRoutine<T> extends Object implements Routine<T>
A common base class for stored proceduresThis type is for JOOQ INTERNAL USE only. Do not reference directly
- Author:
- Lukas Eder
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractRoutine(String name, Schema schema)protectedAbstractRoutine(String name, Schema schema, DataType<T> type)protectedAbstractRoutine(String name, Schema schema, DataType<X> type, Binding<X,T> binding)protectedAbstractRoutine(String name, Schema schema, DataType<X> type, Converter<X,T> converter)protectedAbstractRoutine(String name, Schema schema, DataType<X> type, Converter<Y,T> converter, Binding<X,Y> binding)protectedAbstractRoutine(String name, Schema schema, Package pkg)protectedAbstractRoutine(String name, Schema schema, Package pkg, DataType<T> type)protectedAbstractRoutine(String name, Schema schema, Package pkg, DataType<X> type, Binding<X,T> binding)protectedAbstractRoutine(String name, Schema schema, Package pkg, DataType<X> type, Converter<X,T> converter)protectedAbstractRoutine(String name, Schema schema, Package pkg, DataType<X> type, Converter<Y,T> converter, Binding<X,Y> binding)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidaccept(Context<?> ctx)protected voidaddInOutParameter(Parameter<?> parameter)protected voidaddInParameter(Parameter<?> parameter)protected voidaddOutParameter(Parameter<?> parameter)AggregateFunction<T>asAggregateFunction()Field<T>asField()Field<T>asField(String alias)voidattach(Configuration c)Attach this object to a newConfiguration.voidbind(BindContext context)Deprecated.- 3.4.0 - [#2694] - UseQueryPartInternal.accept(Context)instead.Clause[]clauses(Context<?> ctx)TheClauses that are represented by this query part.Configurationconfiguration()protected DSLContextcreate()Deprecated.- 3.11.0 - [#6722] - UseAttachable.configuration()andConfiguration.dsl()instead.protected DSLContextcreate(Configuration configuration)Deprecated.- 3.11.0 - [#6722] - UseAttachable.configuration()andConfiguration.dsl()instead.protected DSLContextcreate(Context<?> ctx)Deprecated.- 3.11.0 - [#6722] - UseAttachable.configuration()andConfiguration.dsl()instead.protected static <T> Parameter<T>createParameter(String name, DataType<T> type)Deprecated.- Please, re-generate your routine code.protected static <T> Parameter<T>createParameter(String name, DataType<T> type, boolean isDefaulted)Deprecated.- Please, re-generate your routine code.protected static <T> Parameter<T>createParameter(String name, DataType<T> type, boolean isDefaulted, boolean isUnnamed)Deprecated.- Please, re-generate your routine code.protected static <T,U>
Parameter<U>createParameter(String name, DataType<T> type, boolean isDefaulted, boolean isUnnamed, Binding<T,U> binding)Deprecated.- Please, re-generate your routine code.protected static <T,U>
Parameter<U>createParameter(String name, DataType<T> type, boolean isDefaulted, boolean isUnnamed, Converter<T,U> converter)Deprecated.- Please, re-generate your routine code.protected static <T,X,U>
Parameter<U>createParameter(String name, DataType<T> type, boolean isDefaulted, boolean isUnnamed, Converter<X,U> converter, Binding<T,X> binding)Deprecated.- Please, re-generate your routine code.protected static <T,U>
Parameter<U>createParameter(String name, DataType<T> type, boolean isDefaulted, Binding<T,U> binding)Deprecated.- Please, re-generate your routine code.protected static <T,U>
Parameter<U>createParameter(String name, DataType<T> type, boolean isDefaulted, Converter<T,U> converter)Deprecated.- Please, re-generate your routine code.protected static <T,X,U>
Parameter<U>createParameter(String name, DataType<T> type, boolean isDefaulted, Converter<X,U> converter, Binding<T,X> binding)Deprecated.- Please, re-generate your routine code.booleandeclaresCTE()Subclasses may override thisbooleandeclaresFields()Subclasses may override thisbooleandeclaresTables()Subclasses may override thisbooleandeclaresWindows()Subclasses may override thisvoiddetach()Detach this object from its currentConfiguration.booleanequals(Object that)Check whether thisQueryPartcan be considered equal to anotherQueryPart.intexecute()Execute the stored object on an underlying connectionintexecute(Configuration c)Execute the stored object using aConfigurationobjectbooleangeneratesCast()Subclasses may override this<Z> Zget(Parameter<Z> parameter)CataloggetCatalog()Get the routine catalog.StringgetComment()The comment on this object.List<Parameter<?>>getInParameters()A list of IN parameters passed to the stored procedure as argument.protected Map<Parameter<?>,Field<?>>getInValues()StringgetName()The unqualified name of this object.List<Parameter<?>>getOutParameters()A list of OUT parameters passed to the stored procedure as argument.PackagegetPackage()The container package of this stored procedure or function.List<Parameter<?>>getParameters()NamegetQualifiedName()The qualified name of this object.ResultsgetResults()Parameter<T>getReturnParameter()The parameter representing this routine'sRoutine.getReturnValue()TgetReturnValue()SchemagetSchema()Get the routine schemaNamegetUnqualifiedName()The unqualified name of this object.<Z> ZgetValue(Parameter<Z> parameter)inthashCode()Generate a hash code from thisQueryPart.protected booleanisOverloaded()protected booleanisPipelined()<Z> voidset(Parameter<Z> parameter, Z value)Set the routine's IN value for an IN parameter.protected voidsetField(Parameter<?> parameter, Field<?> value)protected voidsetNumber(Parameter<? extends Number> parameter, Field<? extends Number> value)protected <N extends Number>
voidsetNumber(Parameter<N> parameter, Number value)protected voidsetOverloaded(boolean overloaded)protected voidsetPipelined(boolean pipelined)protected voidsetPLSQLBooleanParameter(Parameter<?> parameter)protected voidsetReturnParameter(Parameter<T> parameter)<Z> voidsetValue(Parameter<Z> parameter, Z value)Set the routine's IN value for an IN parameter.voidtoSQL(RenderContext context)Deprecated.- 3.4.0 - [#2694] - UseQueryPartInternal.accept(Context)instead.StringtoString()Render a SQL string representation of thisQueryPart.protected DataAccessExceptiontranslate(String sql, SQLException e)Internal convenience method-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.jooq.Named
getComment, getName, getQualifiedName, getUnqualifiedName
-
-
-
-
Constructor Detail
-
AbstractRoutine
protected AbstractRoutine(String name, Schema schema, DataType<X> type, Converter<X,T> converter)
-
AbstractRoutine
protected AbstractRoutine(String name, Schema schema, DataType<X> type, Binding<X,T> binding)
-
AbstractRoutine
protected AbstractRoutine(String name, Schema schema, DataType<X> type, Converter<Y,T> converter, Binding<X,Y> binding)
-
AbstractRoutine
protected AbstractRoutine(String name, Schema schema, Package pkg, DataType<T> type)
-
AbstractRoutine
protected AbstractRoutine(String name, Schema schema, Package pkg, DataType<X> type, Converter<X,T> converter)
-
AbstractRoutine
protected AbstractRoutine(String name, Schema schema, Package pkg, DataType<X> type, Binding<X,T> binding)
-
-
Method Detail
-
setNumber
protected final void setNumber(Parameter<? extends Number> parameter, Field<? extends Number> value)
-
setValue
public final <Z> void setValue(Parameter<Z> parameter, Z value)
Description copied from interface:RoutineSet the routine's IN value for an IN parameter.
-
set
public final <Z> void set(Parameter<Z> parameter, Z value)
Description copied from interface:RoutineSet the routine's IN value for an IN parameter.
-
attach
public final void attach(Configuration c)
Description copied from interface:AttachableAttach this object to a newConfiguration.- Specified by:
attachin interfaceAttachable- Parameters:
c- A configuration ornull, if you wish to detach thisAttachablefrom its previous configuration.
-
detach
public final void detach()
Description copied from interface:AttachableDetach this object from its currentConfiguration.This is the same as calling
attach(null).- Specified by:
detachin interfaceAttachable
-
configuration
public final Configuration configuration()
Description copied from interface:Attachable- Specified by:
configurationin interfaceAttachable
-
execute
public final int execute(Configuration c)
Description copied from interface:RoutineExecute the stored object using aConfigurationobject
-
execute
public final int execute()
Description copied from interface:RoutineExecute the stored object on an underlying connection
-
clauses
public final Clause[] clauses(Context<?> ctx)
Description copied from interface:QueryPartInternalTheClauses that are represented by this query part.QueryParts can specify severalClauses for which an event will be emittedbefore(in forward order) andafter(in reverse order) visiting the the query part throughContext.visit(QueryPart)This method is for JOOQ INTERNAL USE only. Do not reference directly
- Specified by:
clausesin interfaceQueryPartInternal- Returns:
- The
Clauses represented by this query part ornullor an empty array if this query part does not represent a clause.
-
accept
public void accept(Context<?> ctx)
Description copied from interface:QueryPartInternalThisQueryPartcanacceptaContextobject in order to render a SQL string or to bind its variables.- Specified by:
acceptin interfaceQueryPartInternal
-
getReturnValue
public final T getReturnValue()
- Specified by:
getReturnValuein interfaceRoutine<T>- Returns:
- The routine's return value (if it is a function)
-
getResults
public final Results getResults()
- Specified by:
getResultsin interfaceRoutine<T>- Returns:
- The routine's results (if available)
-
getValue
public final <Z> Z getValue(Parameter<Z> parameter)
-
get
public final <Z> Z get(Parameter<Z> parameter)
-
getOutParameters
public final List<Parameter<?>> getOutParameters()
Description copied from interface:RoutineA list of OUT parameters passed to the stored procedure as argument. This list contains all parameters that are either OUT or INOUT in their respective order of appearance inRoutine.getParameters().- Specified by:
getOutParametersin interfaceRoutine<T>- Returns:
- The list of out parameters
- See Also:
Routine.getParameters()
-
getInParameters
public final List<Parameter<?>> getInParameters()
Description copied from interface:RoutineA list of IN parameters passed to the stored procedure as argument. This list contains all parameters that are either IN or INOUT in their respective order of appearance inRoutine.getParameters().- Specified by:
getInParametersin interfaceRoutine<T>- Returns:
- The list of in parameters
- See Also:
Routine.getParameters()
-
getParameters
public final List<Parameter<?>> getParameters()
- Specified by:
getParametersin interfaceRoutine<T>- Returns:
- A list of parameters passed to the stored object as argument
-
getCatalog
public final Catalog getCatalog()
Description copied from interface:RoutineGet the routine catalog.- Specified by:
getCatalogin interfaceRoutine<T>
-
getSchema
public final Schema getSchema()
Description copied from interface:RoutineGet the routine schema
-
getPackage
@Pro public final Package getPackage()
Description copied from interface:RoutineThe container package of this stored procedure or function.This is only supported in the
SQLDialect.ORACLEdialect.- Specified by:
getPackagein interfaceRoutine<T>- Returns:
- The container package of this object, or
nullif there is no such container.
-
getReturnParameter
public final Parameter<T> getReturnParameter()
Description copied from interface:RoutineThe parameter representing this routine'sRoutine.getReturnValue()- Specified by:
getReturnParameterin interfaceRoutine<T>- Returns:
- The return parameter or
nullif this routine doesn't have a return value. - See Also:
Routine.getParameters()
-
setOverloaded
protected final void setOverloaded(boolean overloaded)
-
isOverloaded
protected final boolean isOverloaded()
-
setPipelined
@Pro protected final void setPipelined(boolean pipelined)
-
isPipelined
@Pro protected final boolean isPipelined()
-
addInParameter
protected final void addInParameter(Parameter<?> parameter)
-
addInOutParameter
protected final void addInOutParameter(Parameter<?> parameter)
-
addOutParameter
protected final void addOutParameter(Parameter<?> parameter)
-
setPLSQLBooleanParameter
@Pro protected final void setPLSQLBooleanParameter(Parameter<?> parameter)
-
asAggregateFunction
public final AggregateFunction<T> asAggregateFunction()
-
createParameter
@Deprecated protected static final <T> Parameter<T> createParameter(String name, DataType<T> type)
Deprecated.- Please, re-generate your routine code.Subclasses may call this method to createUDTFieldobjects that are linked to this table.- Parameters:
name- The name of the field (case-sensitive!)type- The data type of the field
-
createParameter
@Deprecated protected static final <T> Parameter<T> createParameter(String name, DataType<T> type, boolean isDefaulted)
Deprecated.- Please, re-generate your routine code.Subclasses may call this method to createUDTFieldobjects that are linked to this table.- Parameters:
name- The name of the field (case-sensitive!)type- The data type of the fieldisDefaulted- Whether the parameter is defaulted (seeParameter.isDefaulted()
-
createParameter
@Deprecated protected static final <T,U> Parameter<U> createParameter(String name, DataType<T> type, boolean isDefaulted, Converter<T,U> converter)
Deprecated.- Please, re-generate your routine code.Subclasses may call this method to createUDTFieldobjects that are linked to this table.- Parameters:
name- The name of the field (case-sensitive!)type- The data type of the fieldisDefaulted- Whether the parameter is defaulted (seeParameter.isDefaulted()
-
createParameter
@Deprecated protected static final <T,U> Parameter<U> createParameter(String name, DataType<T> type, boolean isDefaulted, Binding<T,U> binding)
Deprecated.- Please, re-generate your routine code.Subclasses may call this method to createUDTFieldobjects that are linked to this table.- Parameters:
name- The name of the field (case-sensitive!)type- The data type of the fieldisDefaulted- Whether the parameter is defaulted (seeParameter.isDefaulted()
-
createParameter
@Deprecated protected static final <T,X,U> Parameter<U> createParameter(String name, DataType<T> type, boolean isDefaulted, Converter<X,U> converter, Binding<T,X> binding)
Deprecated.- Please, re-generate your routine code.Subclasses may call this method to createUDTFieldobjects that are linked to this table.- Parameters:
name- The name of the field (case-sensitive!)type- The data type of the fieldisDefaulted- Whether the parameter is defaulted (seeParameter.isDefaulted()
-
createParameter
@Deprecated protected static final <T> Parameter<T> createParameter(String name, DataType<T> type, boolean isDefaulted, boolean isUnnamed)
Deprecated.- Please, re-generate your routine code.Subclasses may call this method to createUDTFieldobjects that are linked to this table.- Parameters:
name- The name of the field (case-sensitive!)type- The data type of the fieldisDefaulted- Whether the parameter is defaulted (seeParameter.isDefaulted()isUnnamed- Whether the parameter is unnamed (seeParameter.isUnnamed().
-
createParameter
@Deprecated protected static final <T,U> Parameter<U> createParameter(String name, DataType<T> type, boolean isDefaulted, boolean isUnnamed, Converter<T,U> converter)
Deprecated.- Please, re-generate your routine code.Subclasses may call this method to createUDTFieldobjects that are linked to this table.- Parameters:
name- The name of the field (case-sensitive!)type- The data type of the fieldisDefaulted- Whether the parameter is defaulted (seeParameter.isDefaulted()isUnnamed- Whether the parameter is unnamed (seeParameter.isUnnamed().
-
createParameter
@Deprecated protected static final <T,U> Parameter<U> createParameter(String name, DataType<T> type, boolean isDefaulted, boolean isUnnamed, Binding<T,U> binding)
Deprecated.- Please, re-generate your routine code.Subclasses may call this method to createUDTFieldobjects that are linked to this table.- Parameters:
name- The name of the field (case-sensitive!)type- The data type of the fieldisDefaulted- Whether the parameter is defaulted (seeParameter.isDefaulted()isUnnamed- Whether the parameter is unnamed (seeParameter.isUnnamed().
-
createParameter
@Deprecated protected static final <T,X,U> Parameter<U> createParameter(String name, DataType<T> type, boolean isDefaulted, boolean isUnnamed, Converter<X,U> converter, Binding<T,X> binding)
Deprecated.- Please, re-generate your routine code.Subclasses may call this method to createUDTFieldobjects that are linked to this table.- Parameters:
name- The name of the field (case-sensitive!)type- The data type of the fieldisDefaulted- Whether the parameter is defaulted (seeParameter.isDefaulted()isUnnamed- Whether the parameter is unnamed (seeParameter.isUnnamed().
-
getName
public final String getName()
Description copied from interface:NamedThe unqualified name of this object.
-
getQualifiedName
public Name getQualifiedName()
Description copied from interface:NamedThe qualified name of this object.- Specified by:
getQualifiedNamein interfaceNamed
-
getUnqualifiedName
public final Name getUnqualifiedName()
Description copied from interface:NamedThe unqualified name of this object.- Specified by:
getUnqualifiedNamein interfaceNamed
-
getComment
public final String getComment()
Description copied from interface:NamedThe comment on this object.- Specified by:
getCommentin interfaceNamed
-
hashCode
public int hashCode()
Description copied from interface:QueryPartGenerate a hash code from thisQueryPart.In general,
QueryParthash codes are the same as the hash codes generated fromQueryPart.toString(). This guarantees consistent behaviour withQueryPart.equals(Object)Some
QueryPartimplementations may choose to override this behaviour for improved performance, asQueryPart.toString()is an expensive operation, if called many times.
-
equals
public boolean equals(Object that)
Description copied from interface:QueryPartCheck whether thisQueryPartcan be considered equal to anotherQueryPart.In general,
QueryPartequality is defined in terms ofQueryPart.toString()equality. In other words, two query parts are considered equal if their rendered SQL (with inlined bind variables) is equal. This means that the two query parts do not necessarily have to be of the same type.Some
QueryPartimplementations may choose to override this behaviour for improved performance, asQueryPart.toString()is an expensive operation, if called many times.
-
toSQL
@Deprecated public final void toSQL(RenderContext context)
Deprecated.- 3.4.0 - [#2694] - UseQueryPartInternal.accept(Context)instead.Description copied from interface:QueryPartInternalRender thisQueryPartto a SQL string contained incontext.sql(). Thecontextwill contain additional information about how to render thisQueryPart, e.g. whether thisQueryPartshould be rendered as a declaration or reference, whether thisQueryPart's contained bind variables should be inlined or replaced by'?', etc.- Specified by:
toSQLin interfaceQueryPartInternal
-
bind
@Deprecated public final void bind(BindContext context) throws DataAccessException
Deprecated.- 3.4.0 - [#2694] - UseQueryPartInternal.accept(Context)instead.Description copied from interface:QueryPartInternalBind all parameters of thisQueryPartto a PreparedStatementThis method is for JOOQ INTERNAL USE only. Do not reference directly
- Specified by:
bindin interfaceQueryPartInternal- Parameters:
context- The context holding the next bind index and other information for variable binding- Throws:
DataAccessException- If something went wrong while binding a variable
-
declaresFields
public boolean declaresFields()
Subclasses may override this- Specified by:
declaresFieldsin interfaceQueryPartInternal
-
declaresTables
public boolean declaresTables()
Subclasses may override this- Specified by:
declaresTablesin interfaceQueryPartInternal
-
declaresWindows
public boolean declaresWindows()
Subclasses may override this- Specified by:
declaresWindowsin interfaceQueryPartInternal
-
declaresCTE
public boolean declaresCTE()
Subclasses may override this- Specified by:
declaresCTEin interfaceQueryPartInternal
-
generatesCast
public boolean generatesCast()
Subclasses may override this- Specified by:
generatesCastin interfaceQueryPartInternal
-
toString
public String toString()
Description copied from interface:QueryPartRender a SQL string representation of thisQueryPart.For improved debugging, this renders a SQL string of this
QueryPartwith inlined bind variables. If thisQueryPartisAttachable, then the attachedConfigurationmay be used for rendering the SQL string, includingSQLDialectandSettings. Do note that mostQueryPartinstances are not attached to aConfiguration, and thus there is no guarantee that the SQL string will make sense in the context of a specific database.
-
create
@Deprecated protected final DSLContext create()
Deprecated.- 3.11.0 - [#6722] - UseAttachable.configuration()andConfiguration.dsl()instead.Internal convenience method
-
create
@Deprecated protected final DSLContext create(Configuration configuration)
Deprecated.- 3.11.0 - [#6722] - UseAttachable.configuration()andConfiguration.dsl()instead.Internal convenience method
-
create
@Deprecated protected final DSLContext create(Context<?> ctx)
Deprecated.- 3.11.0 - [#6722] - UseAttachable.configuration()andConfiguration.dsl()instead.Internal convenience method
-
translate
protected final DataAccessException translate(String sql, SQLException e)
Internal convenience method
-
-