⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 queryresultnodeintrospector.java

📁 esri的ArcGIS Server超级学习模板程序(for java)
💻 JAVA
字号:
package com.esri.solutions.jitk.web.data.results;

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

import com.esri.adf.web.data.results.ResultNode;

public class QueryResultNodeIntrospector implements RowDataIntrospector {

    @SuppressWarnings("unchecked")
    public String[] getColumnNames(Object rowData) {
        ResultNode resultNode = (ResultNode) rowData;
        if (resultNode.getDetails() != null
                && resultNode.getDetails().size() > 0) {
            return (String[]) resultNode.getDetails().keySet().toArray(
                    new String[resultNode.getDetails().size()]);
        } else if (resultNode.getChildren() != null
                && resultNode.getChildren().size() > 0) {
            List<ResultNode> childNodes = resultNode.getChildren();
            return (String[]) childNodes.get(0).getDetails().keySet().toArray(
                    new String[childNodes.get(0).getDetails().size()]);
        }
        return null;
    }

    @SuppressWarnings("unchecked")
    public Object[] getValues(Object rowData, String[] columnNames) {
        ResultNode resultNode = (ResultNode) rowData;
        if (resultNode.getDetails() != null
                && resultNode.getDetails().size() > 0) {
            return getValues(resultNode.getDetails(), columnNames);
        } else if (resultNode.getChildren() != null
                && resultNode.getChildren().size() > 0) {
            List<ResultNode> childNodes = resultNode.getChildren();
            return getValues(childNodes.get(0).getDetails(), columnNames);
        }
        return null;
    }

    private Object[] getValues(Map<String, Object> details, String[] columns) {
        List<Object> values = new ArrayList<Object>();
        if (columns != null || columns.length > 0) {
            for (int i = 0; i < columns.length; i++) {
                values.add(details.get(columns[i]));
            }
        }
        return (Object[])values.toArray(new Object[values.size()]);
    }

    @SuppressWarnings("unchecked")
    public String[] getActions(Object rowData) {
        ResultNode resultNode = (ResultNode) rowData;
        List actionNames = resultNode.getActionNames();
        if (actionNames != null) {
            int i = 0;
            String[] actionNamesArr = new String[actionNames.size()];
            for (Object actionName : actionNames) {
                actionNamesArr[i++] = (String) actionName;
            }
            return actionNamesArr;
        }
        return null;
    }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -