diff --git a/src/org/redkale/util/Reproduce.java b/src/org/redkale/util/Reproduce.java index 1a87d0e5d..9f422d83a 100644 --- a/src/org/redkale/util/Reproduce.java +++ b/src/org/redkale/util/Reproduce.java @@ -41,12 +41,12 @@ public interface Reproduce extends BiFunction { } @SuppressWarnings("unchecked") - public static Reproduce create(final Class destClass, final Class srcClass, final BiPredicate, String> srcColumnPredicate) { + public static Reproduce create(final Class destClass, final Class srcClass, final BiPredicate srcColumnPredicate) { return create(destClass, srcClass, srcColumnPredicate, (Map) null); } @SuppressWarnings("unchecked") - public static Reproduce create(final Class destClass, final Class srcClass, final BiPredicate, String> srcColumnPredicate, final Map names) { + public static Reproduce create(final Class destClass, final Class srcClass, final BiPredicate srcColumnPredicate, final Map names) { // ------------------------------------------------------------------------------ final String supDynName = Reproduce.class.getName().replace('.', '/'); final String destClassName = destClass.getName().replace('.', '/'); @@ -89,7 +89,7 @@ public interface Reproduce extends BiFunction { if (Modifier.isFinal(field.getModifiers())) continue; if (!Modifier.isPublic(field.getModifiers())) continue; final String sfname = field.getName(); - if (srcColumnPredicate != null && !srcColumnPredicate.test(srcClass, sfname)) continue; + if (srcColumnPredicate != null && !srcColumnPredicate.test(field, sfname)) continue; final String dfname = names == null ? sfname : names.getOrDefault(sfname, sfname); java.lang.reflect.Method setter = null; @@ -128,7 +128,7 @@ public interface Reproduce extends BiFunction { cs[0] = Character.toLowerCase(cs[0]); sfname = new String(cs); } - if (srcColumnPredicate != null && !srcColumnPredicate.test(srcClass, sfname)) continue; + if (srcColumnPredicate != null && !srcColumnPredicate.test(getter, sfname)) continue; final String dfname = names == null ? sfname : names.getOrDefault(sfname, sfname); java.lang.reflect.Method setter = null;