io.zero88.jooqx.ReactiveJooqx Maven / Gradle / Ivy
The newest version!
package io.zero88.jooqx;
import org.jooq.DSLContext;
import org.jooq.Query;
import io.vertx.codegen.annotations.GenIgnore;
import io.vertx.codegen.annotations.Nullable;
import io.vertx.codegen.annotations.VertxGen;
import io.vertx.core.AsyncResult;
import io.vertx.core.Future;
import io.vertx.core.Handler;
import io.vertx.core.Vertx;
import io.vertx.sqlclient.Pool;
import io.zero88.jooqx.ReactiveSQLImpl.JooqxPoolImpl;
import io.zero88.jooqx.adapter.SQLResultAdapter;
import io.zero88.jooqx.datatype.DataTypeMapperRegistry;
import lombok.NonNull;
/**
* Represents for an executor that executes {@code jOOQ query} on {@code Vertx reactive SQL pool}
*
* @see Pool
* @since 1.0.0
*/
@VertxGen
public interface ReactiveJooqx extends ReactiveJooqxBase {
@GenIgnore
static ReactiveJooqxBuilder builder() {
return new ReactiveJooqxBuilder();
}
@Override
@NonNull Vertx vertx();
@Override
@GenIgnore(GenIgnore.PERMITTED_TYPE)
@NonNull DSLContext dsl();
@Override
@NonNull Pool sqlClient();
@Override
@GenIgnore(GenIgnore.PERMITTED_TYPE)
@NonNull ReactiveSQLPreparedQuery preparedQuery();
@Override
@NonNull ReactiveSQLResultCollector resultCollector();
@Override
@GenIgnore(GenIgnore.PERMITTED_TYPE)
@NonNull SQLErrorConverter errorConverter();
@Override
@GenIgnore(GenIgnore.PERMITTED_TYPE)
@NonNull DataTypeMapperRegistry typeMapperRegistry();
@Override
@NonNull
@SuppressWarnings("unchecked")
ReactiveJooqxTx transaction();
@Override
@GenIgnore(GenIgnore.PERMITTED_TYPE)
Future execute(@NonNull Query query, @NonNull SQLResultAdapter adapter);
@Override
@GenIgnore(GenIgnore.PERMITTED_TYPE)
default void execute(@NonNull Query query, @NonNull SQLResultAdapter adapter,
@NonNull Handler> handler) {
ReactiveJooqxBase.super.execute(query, adapter, handler);
}
@Override
@GenIgnore(GenIgnore.PERMITTED_TYPE)
default void batch(@NonNull Query query, @NonNull BindBatchValues bindBatchValues,
@NonNull Handler> handler) {
ReactiveJooqxBase.super.batch(query, bindBatchValues, handler);
}
@Override
@GenIgnore(GenIgnore.PERMITTED_TYPE)
Future batch(@NonNull Query query, @NonNull BindBatchValues bindBatchValues);
@Override
@GenIgnore(GenIgnore.PERMITTED_TYPE)
Future> batch(@NonNull Query query, @NonNull BindBatchValues bindBatchValues,
@NonNull SQLResultAdapter.SQLResultListAdapter adapter);
@Override
@GenIgnore(GenIgnore.PERMITTED_TYPE)
default void batch(@NonNull Query query, @NonNull BindBatchValues bindBatchValues,
@NonNull SQLResultAdapter.SQLResultListAdapter adapter,
@NonNull Handler>> handler) {
ReactiveJooqxBase.super.batch(query, bindBatchValues, adapter, handler);
}
@GenIgnore
class ReactiveJooqxBuilder extends ReAJooqxBBuilder {
@Override
public ReactiveJooqx build() {
return new JooqxPoolImpl(vertx(), dsl(), sqlClient(), preparedQuery(), resultCollector(), errorConverter(),
typeMapperRegistry());
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy