Providing default parameters to constructor

19 views
Skip to first unread message

Francis Huang

unread,
Sep 7, 2019, 2:15:37 AM9/7/19
to google-guice
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();
}
}
Reply all
Reply to author
Forward
0 new messages