diff --git a/src/org/redkale/convert/ConvertFactory.java b/src/org/redkale/convert/ConvertFactory.java index 889ccf9a7..79ced4f2c 100644 --- a/src/org/redkale/convert/ConvertFactory.java +++ b/src/org/redkale/convert/ConvertFactory.java @@ -220,15 +220,10 @@ public abstract class ConvertFactory { return false; } - public ConvertColumnEntry findRef(AccessibleObject element) { + public ConvertColumnEntry findRef(Class clazz, AccessibleObject element) { if (element == null) return null; ConvertColumnEntry en = this.columnEntrys.get(element); - Set onlyColumns = null; - if (element instanceof Method) { - onlyColumns = ignoreAlls.get(((Method) element).getDeclaringClass()); - } else if (element instanceof Field) { - onlyColumns = ignoreAlls.get(((Field) element).getDeclaringClass()); - } + Set onlyColumns = ignoreAlls.get(clazz); if (en != null && onlyColumns == null) return en; final ConvertType ct = this.getConvertType(); ConvertColumn[] ccs = element.getAnnotationsByType(ConvertColumn.class); diff --git a/src/org/redkale/convert/ObjectDecoder.java b/src/org/redkale/convert/ObjectDecoder.java index d6d08210a..7f4f03bb3 100644 --- a/src/org/redkale/convert/ObjectDecoder.java +++ b/src/org/redkale/convert/ObjectDecoder.java @@ -94,7 +94,7 @@ public class ObjectDecoder implements Decodeable { for (final Field field : clazz.getFields()) { if (Modifier.isStatic(field.getModifiers())) continue; if (factory.isConvertDisabled(field)) continue; - ref = factory.findRef(field); + ref = factory.findRef(clazz, field); if (ref != null && ref.ignore()) continue; Decodeable fieldCoder = factory.findFieldCoder(clazz, field.getName()); if (fieldCoder == null) { @@ -123,7 +123,7 @@ public class ObjectDecoder implements Decodeable { continue; } } - ref = factory.findRef(method); + ref = factory.findRef(clazz, method); if (ref != null && ref.ignore()) continue; Decodeable fieldCoder = factory.findFieldCoder(clazz, ConvertFactory.readGetSetFieldName(method)); diff --git a/src/org/redkale/convert/ObjectEncoder.java b/src/org/redkale/convert/ObjectEncoder.java index acb5fabf7..6a180e69b 100644 --- a/src/org/redkale/convert/ObjectEncoder.java +++ b/src/org/redkale/convert/ObjectEncoder.java @@ -75,7 +75,7 @@ public class ObjectEncoder implements Encodeable { for (final Field field : clazz.getFields()) { if (Modifier.isStatic(field.getModifiers())) continue; if (factory.isConvertDisabled(field)) continue; - ref = factory.findRef(field); + ref = factory.findRef(clazz, field); if (ref != null && ref.ignore()) continue; Encodeable fieldCoder = factory.findFieldCoder(clazz, field.getName()); if (fieldCoder == null) { @@ -104,7 +104,7 @@ public class ObjectEncoder implements Encodeable { continue; } } - ref = factory.findRef(method); + ref = factory.findRef(clazz, method); if (ref != null && ref.ignore()) continue; Encodeable fieldCoder = factory.findFieldCoder(clazz, ConvertFactory.readGetSetFieldName(method)); if (fieldCoder == null) { @@ -253,24 +253,24 @@ public class ObjectEncoder implements Encodeable { static Attribute createAttribute(final ConvertFactory factory, Class clazz, final Field field, final Method getter, final Method setter) { String fieldalias; if (field != null) { // public field - ConvertColumnEntry ref = factory.findRef(field); + ConvertColumnEntry ref = factory.findRef(clazz, field); fieldalias = ref == null || ref.name().isEmpty() ? field.getName() : ref.name(); } else if (getter != null) { - ConvertColumnEntry ref = factory.findRef(getter); + ConvertColumnEntry ref = factory.findRef(clazz, getter); String mfieldname = ConvertFactory.readGetSetFieldName(getter); if (ref == null) { try { - ref = factory.findRef(clazz.getDeclaredField(mfieldname)); + ref = factory.findRef(clazz, clazz.getDeclaredField(mfieldname)); } catch (Exception e) { } } fieldalias = ref == null || ref.name().isEmpty() ? mfieldname : ref.name(); } else { // setter != null - ConvertColumnEntry ref = factory.findRef(setter); + ConvertColumnEntry ref = factory.findRef(clazz, setter); String mfieldname = ConvertFactory.readGetSetFieldName(setter); if (ref == null) { try { - ref = factory.findRef(clazz.getDeclaredField(mfieldname)); + ref = factory.findRef(clazz, clazz.getDeclaredField(mfieldname)); } catch (Exception e) { } }