io.yawp.repository.query.QueryBuilder.getPreOrders()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(1.6k)|赞(0)|评价(0)|浏览(103)

本文整理了Java中io.yawp.repository.query.QueryBuilder.getPreOrders方法的一些代码示例,展示了QueryBuilder.getPreOrders的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。QueryBuilder.getPreOrders方法的具体详情如下:
包路径:io.yawp.repository.query.QueryBuilder
类名称:QueryBuilder
方法名:getPreOrders

QueryBuilder.getPreOrders介绍

暂无

代码示例

代码示例来源:origin: feroult/yawp

private String order() {
  if (CollectionUtils.isEmpty(builder.getPreOrders())) {
    return "";
  }
  Class<?> clazz = builder.getModel().getClazz();
  boolean first = true;
  StringBuilder sb = new StringBuilder();
  sb.append(" order by ");
  for (QueryOrder order : builder.getPreOrders()) {
    if (!first) {
      sb.append(", ");
    } else {
      first = false;
    }
    sb.append(String.format("properties->>'%s'", getActualFieldName(order.getProperty(), clazz)));
    if (order.isDesc()) {
      sb.append(" desc");
    }
  }
  return sb.toString();
}

代码示例来源:origin: feroult/yawp

private void prepareQueryOrder(QueryBuilder<?> builder, Query q) {
  if (builder.getPreOrders().isEmpty()) {
    return;
  }
  for (QueryOrder order : builder.getPreOrders()) {
    String string = getActualFieldName(order.getProperty(), builder.getModel().getClazz());
    q.addSort(string, getSortDirection(order));
  }
}

代码示例来源:origin: feroult/yawp

public void sortList(QueryBuilder<?> builder, List<?> objects) {
    final List<QueryOrder> preOrders = builder.getPreOrders();

    if (preOrders.size() == 0) {
      return;
    }

    Collections.sort(objects, new Comparator<Object>() {
      @Override
      public int compare(Object o1, Object o2) {
        for (QueryOrder order : preOrders) {
          int compare = order.compare(o1, o2);

          if (compare == 0) {
            continue;
          }

          return compare;
        }
        return 0;
      }
    });
  }
}

相关文章