Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

//package com.java2s;
/*
 * Copyright 2011-2013 HTTL Team.
 *  
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *  
 *      http://www.apache.org/licenses/LICENSE-2.0
 *  
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

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

import java.util.HashMap;

import java.util.Map;

public class Main {
    public static Map<String, Object> getProperties(Object bean) {
        Map<String, Object> map = new HashMap<String, Object>();
        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;
    }
}