📄 queryresultnodeintrospector.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 + -