All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.efficient.elasticsearch.entity.ResponseEntity Maven / Gradle / Ivy

package com.efficient.elasticsearch.entity;

import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import lombok.Data;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * es 相应参数解析实体
 *
 * @author TMW
 * @since 2021/7/5 17:14
 */
@Data
public class ResponseEntity {

    public static final ResponseEntity EMPTY_OBJ = new ResponseEntity();

    private List> columns;
    private List> rows;

    public List> toMap() {
        final List> columns = this.columns;
        final List> rows = this.rows;
        List> mapList = new ArrayList<>();
        if (CollUtil.isEmpty(columns) || columns.size() < 1
                || CollUtil.isEmpty(rows) || rows.size() < 1) {
            return mapList;
        }
        rows.forEach(list -> {
            Map map = new HashMap<>();
            for (int i = 0; i < columns.size(); i++) {
                String key = columns.get(i).get("name");
                Object value = list.get(i);
                map.put(key, value);
            }
            mapList.add(map);
        });
        return mapList;
    }

    public  List toBean(Class tClass) {
        final List> columns = this.columns;
        final List> rows = this.rows;
        List mapList = new ArrayList<>();
        if (CollUtil.isEmpty(columns) || columns.size() < 1
                || CollUtil.isEmpty(rows) || rows.size() < 1) {
            return mapList;
        }
        rows.forEach(list -> {
            Map map = new HashMap<>();
            for (int i = 0; i < columns.size(); i++) {
                String key = columns.get(i).get("name");
                Object value = list.get(i);
                map.put(key, value);
            }
            mapList.add(BeanUtil.toBeanIgnoreError(map, tClass));
        });
        return mapList;
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy