java corrientes: la toma de corriente de cobro revertido en mente está vacía

Jordi:

Me gustaría construir un Sortobjeto utilizando este Optionalcódigo -como:

private Sort buildSort(Collection<String> fields) {
    fields.stream()
        .map(this::buildOrder)
        .collect(Sort.unsorted(), ????, ????);
}

buildOrder es:

private Order buildOrder(String field) {
    if (field.startsWith("-")) {
        return Order.desc(field.substring(1));
    }
    else {
        return Order.asc(field);
    }
}

Tengo que devolver un Sort.unsorted()caso corriente está vacía, o combinar cada Sortobjeto.

Ordenar objeto tiene un andmétodo que significa la construcción y las órdenes de concatenar.

Sort.by(sort1)
    .and(sort2)...

Así que necesito que:

if (stream is empty) then
  return Sort.unsorted
else
  return foreach item in stream:
     Sort.by(item).and(item2).and(item3)...

clases:

org.springframework.data.domain.Sort
org.springframework.data.domain.Sort.Order

NOTA

Necesito uso corriente-api!

Miguel :

Creo que esto debería funcionar. El segundo mapconvertidos cada uno Ordera sí mismo Sort. El acumulador y combinador continuación, sólo tiene que añadir Sortsjuntos.

return fields.stream()
    .map(this::buildOrder)
    .map(Sort::by)
    .collect(Sort::unsorted, Sort::and, Sort::and);

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=222196&siteId=1
Recomendado
Clasificación