Here you can find the source of getSetters(Class klass)
private static List<Method> getSetters(Class klass)
//package com.java2s; /*// w w w. j a v a 2 s .com * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * See LICENSE.txt included in this distribution for the specific * language governing permissions and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at LICENSE.txt. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ import java.lang.annotation.Annotation; import java.lang.reflect.Method; import java.lang.reflect.Modifier; import java.util.ArrayList; import java.util.List; public class Main { private static List<Method> getSetters(Class klass) { List<Method> res = new ArrayList<>(); Method[] methods = klass.getDeclaredMethods(); for (Method mth : methods) { int mod = mth.getModifiers(); if (Modifier.isPublic(mod) && !Modifier.isStatic(mod) && mth.getParameterCount() == 1 && mth.getName().matches("^set.*") && !isDeprecated(mth)) { res.add(mth); } } res.sort((o1, o2) -> { int cmp = o1.getName().compareToIgnoreCase(o2.getName()); return cmp; }); return res; } private static boolean isDeprecated(Method mth) { for (Annotation annotation : mth.getAnnotations()) { if (annotation instanceof Deprecated) return true; } return false; } }