find all getter and is method and return the value by map. - Android java.lang.reflect

Android examples for java.lang.reflect:Object Type

Description

find all getter and is method and return the value by map.

Demo Code


//package com.java2s;

import java.lang.reflect.Method;
import java.lang.reflect.Modifier;

import java.util.HashMap;

import java.util.Map;

public class Main {
    /**// w w  w.  ja  v  a 2  s  .c  o  m
     * find all getter and is method and return the value by map.
     */
    public static Map<String, Object> getProperties(Object bean) {
        Map<String, Object> map = new HashMap<>();
        for (Method method : bean.getClass().getMethods()) {
            String name = method.getName();
            if (((name.length() > 3 && name.startsWith("get")) || (name
                    .length() > 2 && name.startsWith("is")))
                    && Modifier.isPublic(method.getModifiers())
                    && method.getParameterTypes().length == 0
                    && method.getDeclaringClass() != Object.class) {
                int i = name.startsWith("get") ? 3 : 2;
                String key = name.substring(i, i + 1).toLowerCase()
                        + name.substring(i + 1);
                try {
                    map.put(key, method.invoke(bean, new Object[0]));
                } catch (Exception e) {
                }
            }
        }
        return map;
    }
}

Related Tutorials