eclipse-vertx / eclipse-vertx/vertx-codegen
Not compatible with lombok
- Dominant language
- Java
- Stars
- 111
- Forks
- 89
- PR merge metrics
- No merged PRs in 30d
Description
This is a code example in the book (guide-for-java-devs.pdf), and I made a piece of changes.
1. `Wiki.java` corresponds with the database table:
```java
@AllArgsConstructor
public class Wiki {
public Long id;
public String name;
}
```
2. `WikiDbService.java`
```java
@ProxyGen
public interface WikiDbService {
@Fluent
WikiDbService fetchAll(Handler> resultHandler);
@GenIgnore
static WikiDbService create(JDBCClient dbClient, Handler> readyHandler) {
return new WikiDbServiceImpl(dbClient, readyHandler);
}
@GenIgnore
static WikiDbService createProxy(Vertx vertx, String address) {
return new WikiDbServiceVertxEBProxy(vertx, address);
}
}
```
3. `WikiDbServiceImpl.java`
```java
@Override
public WikiDbService fetchAll(Handler> resultHandler) {
dbClient.query(FETCH_ALL_SQL, queryAr -> {
if (queryAr.failed()) {
resultHandler.handle(Future.failedFuture(queryAr.cause()));
return;
}
ResultSet resultSet = queryAr.result();
List wikiList = resultSet.getResults().stream()
.map(r -> new Wiki(r.getLong(0), r.getString(1)))
.collect(Collectors.toList());
resultHandler.handle(Future.succeededFuture(new JsonArray(new Gson().toJson(wikiList))));
});
return this;
}
```
-----
Finally, I got a compilation error:

it means that there no suitable constructor for Wiki class with 2 arguments ....
But If I generate the constructor:
```java
public class Wiki {
public Long id;
public String name;
public Wiki(Long id, String name) {
this.id = id;
this.name = name;
}
}
```
It works.
So I think it's not compatible with lombok ...
Contributor guide
Assessment
This issue has not been assessed yet.