defaultrowdataintrospector.java

来自「esri的ArcGIS Server超级学习模板程序(for java)」· Java 代码 · 共 67 行

JAVA
67
字号
package com.esri.solutions.jitk.web.data.results;

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

import org.apache.commons.beanutils.BeanUtils;

import com.esri.adf.web.ADFException;

public class DefaultRowDataIntrospector implements RowDataIntrospector {

    public Object[] getValues(Object rowData) {
		// TODO Auto-generated method stub
		return null;
	}

	@SuppressWarnings("unchecked")
    public String[] getColumnNames(Object object) {
        List<String> keys = new ArrayList<String>();
        try {
            Map methods = BeanUtils.describe(object);
            for (Object obj : methods.keySet()) {
                String key = (String) obj;
                if (!key.equals("class"))
                    keys.add(key);
            }
        } catch (Exception e) {
            throw new ADFException("unable to get column names.");
        }
        return keys.toArray(new String[] {});
    }

    @SuppressWarnings("unchecked")
    public Object[] getValues(Object object, String[] columnNames) {
        List<String> vaules = new ArrayList<String>();
        if (columnNames != null && columnNames.length > 0) {
            for (int i = 0; i < columnNames.length; i++) {
                String columnName = columnNames[i];
                try {
                    vaules.add(BeanUtils.getProperty(object, columnName));
                } catch (Exception ex) {
                    throw new ColumnValueReadException(String.format(
                            "Unable to read property %1$s.", columnName), ex);
                }
            }
        } else {
            try {
                Map methods = BeanUtils.describe(object);
                for (Object obj : methods.keySet()) {
                    String key = (String) obj;
                    if (!key.equals("class"))
                        vaules.add(BeanUtils.getProperty(object, key));
                }
            } catch (Exception ex) {
                throw new ColumnValueReadException(
                        "Unable to read object properties.", ex);
            }
        }
        return vaules.toArray();
    }

    public String[] getActions(Object object) {
        return new String[] {};
    }
}

⌨️ 快捷键说明

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