I've been trying to figure out how to provide default parameters to the 
class below, autogenerated using the jOOQ tool.
Is this possible?
new UserDao();
instead of
new UserDao(config, client);

This is Kotlin code btw. If not, I can try to figure out how to modify the 
code generator to make it possible. Maybe with some named constructor 
arguments?

/*
 * This file is generated by jOOQ.
 */
package jooq.generated.tables.daos;


import io.github.jklingsporn.vertx.jooq.shared.async.AbstractAsyncVertxDAO;

import java.sql.Timestamp;
import java.util.List;

import javax.annotation.Generated;

import jooq.generated.tables.User;
import jooq.generated.tables.records.UserRecord;

import org.jooq.Configuration;


import io.reactivex.Single;
import java.util.Optional;
import io.github.jklingsporn.vertx.jooq.rx.async.AsyncRXQueryExecutor;
/**
 * This class is generated by jOOQ.
 */
@Generated(
    value = {
        "http://www.jooq.org";,
        "jOOQ version:3.11.9"
    },
    comments = "This class is generated by jOOQ"
)
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
@javax.inject.Singleton
public class UserDao extends AbstractAsyncVertxDAO<UserRecord, 
jooq.generated.tables.pojos.User, String, 
Single<List<jooq.generated.tables.pojos.User>>, 
Single<Optional<jooq.generated.tables.pojos.User>>, Single<Integer>, 
Single<String>> implements 
io.github.jklingsporn.vertx.jooq.rx.VertxDAO<UserRecord,jooq.generated.tables.pojos.User,String>
 {
    @javax.inject.Inject

    /**
     * @param configuration Used for rendering, so only SQLDialect must be set 
and must be one of the MYSQL types or POSTGRES.
     * @param delegate A configured AsyncSQLClient that is used for query 
execution
     */
    public UserDao(Configuration 
configuration,io.vertx.reactivex.ext.asyncsql.AsyncSQLClient delegate) {
        super(User.USER, jooq.generated.tables.pojos.User.class, new 
AsyncRXQueryExecutor<UserRecord,jooq.generated.tables.pojos.User,String>(configuration,delegate,jooq.generated.tables.pojos.User::new,
 User.USER));
    }

    /**
     * {@inheritDoc}
     */
    @Override
    protected String getId(jooq.generated.tables.pojos.User object) {
        return object.getUserKey();
    }

    /**
     * Find records that have <code>user_email IN (values)</code> asynchronously
     */
    public Single<List<jooq.generated.tables.pojos.User>> 
findManyByUserEmail(List<String> values) {
        return findManyByCondition(User.USER.USER_EMAIL.in(values));
    }

    /**
     * Find records that have <code>user_change_date IN (values)</code> 
asynchronously
     */
    public Single<List<jooq.generated.tables.pojos.User>> 
findManyByUserChangeDate(List<Timestamp> values) {
        return findManyByCondition(User.USER.USER_CHANGE_DATE.in(values));
    }

    @Override
    public 
AsyncRXQueryExecutor<UserRecord,jooq.generated.tables.pojos.User,String> 
queryExecutor(){
        return 
(AsyncRXQueryExecutor<UserRecord,jooq.generated.tables.pojos.User,String>) 
super.queryExecutor();
    }
}

-- 
You received this message because you are subscribed to the Google Groups 
"google-guice" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-guice+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-guice/9df28f84-3fb4-4b36-8099-46c4e9cb374b%40googlegroups.com.

Reply via email to