From 41daf2ede52cc8988d8c1b1bf656a678eac3ec68 Mon Sep 17 00:00:00 2001 From: redkale Date: Tue, 22 Aug 2023 23:44:23 +0800 Subject: [PATCH] Attribute --- src/main/java/org/redkale/util/Attribute.java | 84 ++++++++++++------- 1 file changed, 54 insertions(+), 30 deletions(-) diff --git a/src/main/java/org/redkale/util/Attribute.java b/src/main/java/org/redkale/util/Attribute.java index a737065fb..b2b835bdf 100644 --- a/src/main/java/org/redkale/util/Attribute.java +++ b/src/main/java/org/redkale/util/Attribute.java @@ -5,13 +5,14 @@ */ package org.redkale.util; -import java.lang.reflect.TypeVariable; +import java.lang.reflect.*; import java.util.*; import java.util.function.*; import org.redkale.annotation.*; import static org.redkale.asm.ClassWriter.COMPUTE_FRAMES; import org.redkale.asm.*; import static org.redkale.asm.Opcodes.*; +import org.redkale.asm.Type; import org.redkale.util.Attribute; /** @@ -168,7 +169,8 @@ public interface Attribute { */ @SuppressWarnings("unchecked") public static Attribute create(final java.lang.reflect.Field field) { - return create((Class) field.getDeclaringClass(), field.getName(), (Class) null, field, (java.lang.reflect.Method) null, (java.lang.reflect.Method) null, null); + return create((Class) field.getDeclaringClass(), field.getName(), (Class) null, + field, (java.lang.reflect.Method) null, (java.lang.reflect.Method) null, null); } /** @@ -183,7 +185,8 @@ public interface Attribute { */ @SuppressWarnings("unchecked") public static Attribute create(final java.lang.reflect.Field field, Object attach) { - return create((Class) field.getDeclaringClass(), field.getName(), (Class) null, field, (java.lang.reflect.Method) null, (java.lang.reflect.Method) null, attach); + return create((Class) field.getDeclaringClass(), field.getName(), (Class) null, + field, (java.lang.reflect.Method) null, (java.lang.reflect.Method) null, attach); } /** @@ -198,7 +201,8 @@ public interface Attribute { */ @SuppressWarnings("unchecked") public static Attribute create(String fieldAlias, final java.lang.reflect.Field field) { - return create((Class) field.getDeclaringClass(), fieldAlias, (Class) null, field, (java.lang.reflect.Method) null, (java.lang.reflect.Method) null, null); + return create((Class) field.getDeclaringClass(), fieldAlias, (Class) null, + field, (java.lang.reflect.Method) null, (java.lang.reflect.Method) null, null); } /** @@ -214,7 +218,8 @@ public interface Attribute { */ @SuppressWarnings("unchecked") public static Attribute create(String fieldAlias, final java.lang.reflect.Field field, Object attach) { - return create((Class) field.getDeclaringClass(), fieldAlias, (Class) null, field, (java.lang.reflect.Method) null, (java.lang.reflect.Method) null, attach); + return create((Class) field.getDeclaringClass(), fieldAlias, (Class) null, + field, (java.lang.reflect.Method) null, (java.lang.reflect.Method) null, attach); } /** @@ -232,7 +237,8 @@ public interface Attribute { return (Attribute) map(fieldName); } try { - return create(clazz, fieldName, (Class) null, clazz.getDeclaredField(fieldName), (java.lang.reflect.Method) null, (java.lang.reflect.Method) null, null); + return create(clazz, fieldName, (Class) null, clazz.getDeclaredField(fieldName), + (java.lang.reflect.Method) null, (java.lang.reflect.Method) null, null); } catch (NoSuchFieldException | SecurityException ex) { throw new RedkaleException(ex); } @@ -251,7 +257,8 @@ public interface Attribute { */ public static Attribute create(Class clazz, final String fieldName, Object attach) { try { - return create(clazz, fieldName, (Class) null, clazz.getDeclaredField(fieldName), (java.lang.reflect.Method) null, (java.lang.reflect.Method) null, attach); + return create(clazz, fieldName, (Class) null, clazz.getDeclaredField(fieldName), + (java.lang.reflect.Method) null, (java.lang.reflect.Method) null, attach); } catch (NoSuchFieldException | SecurityException ex) { throw new RedkaleException(ex); } @@ -268,7 +275,8 @@ public interface Attribute { * @return Attribute对象 */ public static Attribute create(Class clazz, final java.lang.reflect.Field field) { - return create(clazz, field.getName(), (Class) null, field, (java.lang.reflect.Method) null, (java.lang.reflect.Method) null, null); + return create(clazz, field.getName(), (Class) null, field, + (java.lang.reflect.Method) null, (java.lang.reflect.Method) null, null); } /** @@ -283,7 +291,8 @@ public interface Attribute { * @return Attribute对象 */ public static Attribute create(Class subclass, Class clazz, final java.lang.reflect.Field field) { - return create(subclass, clazz, field.getName(), (Class) null, field, (java.lang.reflect.Method) null, (java.lang.reflect.Method) null, null); + return create(subclass, clazz, field.getName(), (Class) null, field, + (java.lang.reflect.Method) null, (java.lang.reflect.Method) null, null); } /** @@ -298,7 +307,8 @@ public interface Attribute { * @return Attribute对象 */ public static Attribute create(Class clazz, final java.lang.reflect.Field field, Object attach) { - return create(clazz, field.getName(), (Class) null, field, (java.lang.reflect.Method) null, (java.lang.reflect.Method) null, attach); + return create(clazz, field.getName(), (Class) null, field, + (java.lang.reflect.Method) null, (java.lang.reflect.Method) null, attach); } /** @@ -314,7 +324,8 @@ public interface Attribute { * @return Attribute对象 */ public static Attribute create(Class subclass, Class clazz, final java.lang.reflect.Field field, Object attach) { - return create(subclass, clazz, field.getName(), (Class) null, field, (java.lang.reflect.Method) null, (java.lang.reflect.Method) null, attach); + return create(subclass, clazz, field.getName(), (Class) null, + field, (java.lang.reflect.Method) null, (java.lang.reflect.Method) null, attach); } /** @@ -329,7 +340,8 @@ public interface Attribute { * @return Attribute对象 */ public static Attribute create(Class clazz, final String fieldAlias, final java.lang.reflect.Field field) { - return create(clazz, fieldAlias, (Class) null, field, (java.lang.reflect.Method) null, (java.lang.reflect.Method) null, null); + return create(clazz, fieldAlias, (Class) null, + field, (java.lang.reflect.Method) null, (java.lang.reflect.Method) null, null); } /** @@ -344,8 +356,9 @@ public interface Attribute { * * @return Attribute对象 */ - public static Attribute create(Class clazz, final String fieldAlias, final java.lang.reflect.Field field, Object attach) { - return create(clazz, fieldAlias, (Class) null, field, (java.lang.reflect.Method) null, (java.lang.reflect.Method) null, attach); + public static Attribute create(Class clazz, String fieldAlias, java.lang.reflect.Field field, Object attach) { + return create(clazz, fieldAlias, (Class) null, + field, (java.lang.reflect.Method) null, (java.lang.reflect.Method) null, attach); } /** @@ -360,7 +373,8 @@ public interface Attribute { */ @SuppressWarnings("unchecked") public static Attribute create(final java.lang.reflect.Method getter, final java.lang.reflect.Method setter) { - return create((Class) (getter == null ? setter.getDeclaringClass() : getter.getDeclaringClass()), (String) null, (Class) null, (java.lang.reflect.Field) null, getter, setter, null); + return create((Class) (getter == null ? setter.getDeclaringClass() : getter.getDeclaringClass()), + (String) null, (Class) null, (java.lang.reflect.Field) null, getter, setter, null); } /** @@ -376,7 +390,8 @@ public interface Attribute { */ @SuppressWarnings("unchecked") public static Attribute create(final java.lang.reflect.Method getter, final java.lang.reflect.Method setter, Object attach) { - return create((Class) (getter == null ? setter.getDeclaringClass() : getter.getDeclaringClass()), (String) null, (Class) null, (java.lang.reflect.Field) null, getter, setter, attach); + return create((Class) (getter == null ? setter.getDeclaringClass() : getter.getDeclaringClass()), + (String) null, (Class) null, (java.lang.reflect.Field) null, getter, setter, attach); } /** @@ -390,7 +405,7 @@ public interface Attribute { * * @return Attribute对象 */ - public static Attribute create(Class clazz, final java.lang.reflect.Method getter, final java.lang.reflect.Method setter) { + public static Attribute create(Class clazz, java.lang.reflect.Method getter, java.lang.reflect.Method setter) { return create(clazz, (String) null, (Class) null, (java.lang.reflect.Field) null, getter, setter, null); } @@ -406,7 +421,7 @@ public interface Attribute { * * @return Attribute对象 */ - public static Attribute create(Class clazz, final java.lang.reflect.Method getter, final java.lang.reflect.Method setter, Object attach) { + public static Attribute create(Class clazz, java.lang.reflect.Method getter, java.lang.reflect.Method setter, Object attach) { return create(clazz, (String) null, (Class) null, (java.lang.reflect.Field) null, getter, setter, attach); } @@ -548,7 +563,8 @@ public interface Attribute { * * @return Attribute对象 */ - public static Attribute create(Class clazz, final String fieldAlias, final java.lang.reflect.Method getter, final java.lang.reflect.Method setter) { + public static Attribute create(Class clazz, final String fieldAlias, + final java.lang.reflect.Method getter, final java.lang.reflect.Method setter) { return create(clazz, fieldAlias, (Class) null, (java.lang.reflect.Field) null, getter, setter, null); } @@ -565,7 +581,8 @@ public interface Attribute { * * @return Attribute对象 */ - public static Attribute create(Class clazz, final String fieldAlias, final java.lang.reflect.Method getter, final java.lang.reflect.Method setter, Object attach) { + public static Attribute create(Class clazz, final String fieldAlias, + final java.lang.reflect.Method getter, final java.lang.reflect.Method setter, Object attach) { return create(clazz, fieldAlias, (Class) null, (java.lang.reflect.Field) null, getter, setter, attach); } @@ -582,7 +599,8 @@ public interface Attribute { * * @return Attribute对象 */ - public static Attribute create(final Class clazz, String fieldAlias, final java.lang.reflect.Field field, java.lang.reflect.Method getter, java.lang.reflect.Method setter) { + public static Attribute create(final Class clazz, String fieldAlias, + final java.lang.reflect.Field field, java.lang.reflect.Method getter, java.lang.reflect.Method setter) { return create(clazz, fieldAlias, (Class) null, field, getter, setter, null); } @@ -600,7 +618,8 @@ public interface Attribute { * * @return Attribute对象 */ - public static Attribute create(final Class clazz, String fieldAlias, final java.lang.reflect.Field field, java.lang.reflect.Method getter, java.lang.reflect.Method setter, Object attach) { + public static Attribute create(final Class clazz, String fieldAlias, + final java.lang.reflect.Field field, java.lang.reflect.Method getter, java.lang.reflect.Method setter, Object attach) { return create(clazz, fieldAlias, (Class) null, field, getter, setter, attach); } @@ -650,7 +669,8 @@ public interface Attribute { * @return Attribute对象 */ @SuppressWarnings("unchecked") - public static Attribute create(final Class clazz, String fieldAlias, final Class fieldType, final java.lang.reflect.Field field, java.lang.reflect.Method getter, java.lang.reflect.Method setter) { + public static Attribute create(final Class clazz, String fieldAlias, final Class fieldType, + final java.lang.reflect.Field field, java.lang.reflect.Method getter, java.lang.reflect.Method setter) { return create(clazz, fieldAlias, fieldType, field, getter, setter, null); } @@ -670,7 +690,8 @@ public interface Attribute { * @return Attribute对象 */ @SuppressWarnings("unchecked") - public static Attribute create(final Class clazz, String fieldAlias, final Class fieldType, final java.lang.reflect.Field field, java.lang.reflect.Method getter, java.lang.reflect.Method setter, Object attach) { + public static Attribute create(final Class clazz, String fieldAlias, final Class fieldType, + final java.lang.reflect.Field field, java.lang.reflect.Method getter, java.lang.reflect.Method setter, Object attach) { return create(null, clazz, fieldAlias, fieldType, field, getter, setter, attach); } @@ -691,7 +712,8 @@ public interface Attribute { * @return Attribute对象 */ @SuppressWarnings("unchecked") - public static Attribute create(java.lang.reflect.Type subclass, final Class clazz, String fieldAlias, final Class fieldType, final java.lang.reflect.Field field, java.lang.reflect.Method getter, java.lang.reflect.Method setter, Object attach) { + public static Attribute create(java.lang.reflect.Type subclass, final Class clazz, String fieldAlias, final Class fieldType, + final java.lang.reflect.Field field, java.lang.reflect.Method getter, java.lang.reflect.Method setter, Object attach) { if (subclass == null) { subclass = clazz; } @@ -723,7 +745,7 @@ public interface Attribute { } } } - final java.lang.reflect.Field tfield = field == null ? null : (!java.lang.reflect.Modifier.isPublic(mod) || java.lang.reflect.Modifier.isStatic(mod) ? null : field); + final java.lang.reflect.Field tfield = field == null ? null : (!Modifier.isPublic(mod) || Modifier.isStatic(mod) ? null : field); final java.lang.reflect.Method tgetter = getter; final java.lang.reflect.Method tsetter = setter; String fieldkey = fieldAlias; @@ -1051,7 +1073,8 @@ public interface Attribute { * * @return Attribute对象 */ - public static Attribute create(final Class clazz, final String fieldName, final Class fieldType, final Function getter, final BiConsumer setter) { + public static Attribute create(@Nonnull Class clazz, @Nonnull String fieldName, @Nonnull Class fieldType, + final Function getter, final BiConsumer setter) { return create(clazz, fieldName, fieldType, fieldType, getter, setter); } @@ -1069,7 +1092,8 @@ public interface Attribute { * * @return Attribute对象 */ - public static Attribute create(final Class clazz, final String fieldName, final Class fieldType, final Function getter, final BiConsumer setter, Object attach) { + public static Attribute create(@Nonnull Class clazz, @Nonnull String fieldName, @Nonnull Class fieldType, + final Function getter, final BiConsumer setter, Object attach) { return create(clazz, fieldName, fieldType, fieldType, getter, setter, attach); } @@ -1087,7 +1111,7 @@ public interface Attribute { * * @return Attribute对象 */ - public static Attribute create(final Class clazz, final String fieldName, final Class fieldType, + public static Attribute create(@Nonnull Class clazz, @Nonnull String fieldName, @Nonnull Class fieldType, final java.lang.reflect.Type fieldGenericType, final Function getter, final BiConsumer setter) { return create(clazz, fieldName, fieldType, fieldGenericType, getter, setter, null); } @@ -1107,7 +1131,7 @@ public interface Attribute { * * @return Attribute对象 */ - public static Attribute create(final Class clazz, final String fieldName, final Class fieldType, + public static Attribute create(@Nonnull final Class clazz, @Nonnull final String fieldName, @Nonnull final Class fieldType, final java.lang.reflect.Type fieldGenericType, final Function getter, final BiConsumer setter, final Object attach) { Objects.requireNonNull(clazz); Objects.requireNonNull(fieldName);