Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

//package com.java2s;
/**
 * A collection of small utilities for component management and reflection handling.
 * <p/>
 * <hr/> Copyright 2006-2012 Torsten Heup
 * <p/>
 * 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
 * <p/>
 * http://www.apache.org/licenses/LICENSE-2.0
 * <p/>
 * 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;

public class Main {
    /**
     * Returns a setter method for the given property, or null if there is none.
     *
     * @param target       Target exposing the setter.
     * @param propertyName The setter's property.
     * @return a setter method for the given property, or null if there is none.
     */
    public static synchronized Method getSetter(final Object target, final String propertyName) {
        return getSetter(target.getClass(), propertyName);
    }

    public static synchronized Method getSetter(final Class targetClass, final String propertyName) {
        String setterName = "set" + Character.toUpperCase(propertyName.charAt(0));
        if (setterName.length() > 1)
            setterName += propertyName.substring(1);

        final Method[] methods = targetClass.getMethods();

        for (Method m : methods) {
            if (m.getName().equals(setterName) && m.getParameterTypes().length == 1)
                return m;
        }
        return null;
    }
}