com.sdklite.util.ReflectUtil Maven / Gradle / Ivy
 The newest version!
        
        package com.sdklite.util;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
/**
 * Utility for reflective operation
 * 
 * @author johnsonlee
 *
 */
public class ReflectUtil {
    /**
     * Returns the matched public method of the specified class or null if no
     * such method
     * 
     * @param clazz
     *            The represented class
     * @param name
     *            The name of method
     * @param parameterTypes
     *            The parameter types of method
     * @return the matched method or null if not found
     */
    public static Method getMethod(final Class> clazz, final String name, final Class>... parameterTypes) {
        try {
            return clazz.getMethod(name, parameterTypes);
        } catch (final Exception e) {
            return null;
        }
    }
    /**
     * Returns the declared method of the specified class or null if no such
     * method
     * 
     * @param clazz
     *            The represented class
     * @param name
     *            The name of method
     * @param parameterTypes
     *            The parameter types of method
     * @return the matched method or null if not found
     */
    public static Method getDeclaredMethod(final Class> clazz, final String name, final Class>... parameterTypes) {
        try {
            return clazz.getDeclaredMethod(name, parameterTypes);
        } catch (final Exception e) {
            return null;
        }
    }
    /**
     * Returns the public constructor of the specified class or null if no such
     * constructor
     * 
     * @param clazz
     *            The represented class
     * @param parameterTypes
     *            The parameter types of constructor
     * @return the matched constructor or null if not found
     */
    public static  Constructor getConstructor(final Class clazz, final Class>... parameterTypes) {
        try {
            return clazz.getConstructor(parameterTypes);
        } catch (final Exception e) {
            return null;
        }
    }
    /**
     * Returns the declared constructor of the specified class or null if no
     * such constructor
     * 
     * @param clazz
     *            The represented class
     * @param parameterTypes
     *            The parameter types of constructor
     * @return the matched constructor or null if not found
     */
    public static  Constructor getDeclaredConstructor(final Class clazz, final Class>... parameterTypes) {
        try {
            return clazz.getDeclaredConstructor(parameterTypes);
        } catch (final Exception e) {
            return null;
        }
    }
    /**
     * Returns the public field of the specified class or null if no such field
     * 
     * @param clazz
     *            The represented class
     * @param name
     *            the name of field
     * @return the matched field or null if not found
     */
    public static Field getField(final Class> clazz, final String name) {
        try {
            return clazz.getField(name);
        } catch (final Exception e) {
            return null;
        }
    }
    /**
     * Returns the declared field of the specified class or null if no such
     * field
     * 
     * @param clazz
     *            The represented class
     * @param name
     *            The name of field
     * @return the matched field or null if not found
     */
    public static Field getDeclaredField(final Class> clazz, final String name) {
        try {
            return clazz.getDeclaredField(name);
        } catch (final Exception e) {
            return null;
        }
    }
    private ReflectUtil() {
    }
}
          © 2015 - 2025 Weber Informatics LLC | Privacy Policy