Skip to content

Java nested lambdas formatting is incredibly poor (attempt 2) #1006

Closed
@kberezin-nshl

Description

@kberezin-nshl

IMPORTANT: I am NOT asking to add a capability of switching the formatter OFF here, I am reporting a PROBLEM with the formatter: it expands what should be 7-8 lines of code into 20-ish lines of code. I am asking to reconsider the approach of Java lambda's formatting.

This issue was incorrectly closed as a duplicate of unrelated issue. Reopening:

Elasticsearch API. What I would like to have:

      var hits =
          elasticsearchClient
              .search(r -> r.index(indexName)
                  .query(q -> q.bool(
                      b -> b
                          .must(job -> job.match(t -> t.field("job_id").query(jobId)))
                          .must(str -> str.queryString(
                              qs -> qs.query("\"%s\"".formatted(searchString))))))
                  .size(request.getPageSize()),
                  Doc.class);

what I get:

      var hits =
          elasticsearchClient
              .search(
                  r ->
                      r.index(indexName)
                          .query(
                              q ->
                                  q.bool(
                                      b ->
                                          b.must(
                                                  job ->
                                                      job.match(
                                                          t -> t.field("job_id").query(jobId)))
                                              .must(
                                                  str ->
                                                      str.queryString(
                                                          qs ->
                                                              qs.query(
                                                                  "\"%s\""
                                                                      .formatted(searchString))))))
                          .size(request.getPageSize()),
                  Doc.class);

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions