This commit is contained in:
redkale
2024-09-19 17:04:43 +08:00
parent 5f2abc725b
commit 8ad28e8932
3 changed files with 10 additions and 16 deletions

View File

@@ -553,6 +553,12 @@ public abstract class ConvertFactory<R extends Reader, W extends Writer> {
return fname;
}
public String readConvertFieldName(Class clazz, AccessibleObject element) {
ConvertColumnEntry ref = findRef(clazz, element);
String name = ref == null || ref.name().isEmpty() ? readGetSetFieldName(element) : ref.name();
return name;
}
public String readGetSetFieldName(AccessibleObject element) {
if (element instanceof Field) {
return ((Field) element).getName();

View File

@@ -131,7 +131,7 @@ public abstract class JsonDynEncoder<T> implements Encodeable<JsonWriter, T> {
if (!factory.isSimpleMemberType(clazz, field.getGenericType(), field.getType())) {
return null;
}
String name = convertFieldName(factory, clazz, field);
String name = factory.readConvertFieldName(clazz, field);
if (names.contains(name)) {
continue;
}
@@ -182,7 +182,7 @@ public abstract class JsonDynEncoder<T> implements Encodeable<JsonWriter, T> {
if (!factory.isSimpleMemberType(clazz, method.getGenericReturnType(), method.getReturnType())) {
return null;
}
String name = convertFieldName(factory, clazz, method);
String name = factory.readConvertFieldName(clazz, method);
if (names.contains(name)) {
continue;
}
@@ -206,12 +206,6 @@ public abstract class JsonDynEncoder<T> implements Encodeable<JsonWriter, T> {
}
}
protected static String convertFieldName(final JsonFactory factory, Class clazz, AccessibleObject element) {
ConvertColumnEntry ref = factory.findRef(clazz, element);
String name = ref == null || ref.name().isEmpty() ? factory.readGetSetFieldName(element) : ref.name();
return name;
}
protected static ConvertSmallString readConvertSmallString(JsonFactory factory, AccessibleObject element) {
if (element instanceof Field) {
return ((Field) element).getAnnotation(ConvertSmallString.class);

View File

@@ -115,7 +115,7 @@ public abstract class ProtobufDynEncoder<T> implements Encodeable<ProtobufWriter
if (!factory.isSimpleMemberType(clazz, field.getGenericType(), field.getType())) {
return null;
}
String name = convertFieldName(factory, clazz, field);
String name = factory.readConvertFieldName(clazz, field);
if (names.contains(name)) {
continue;
}
@@ -166,7 +166,7 @@ public abstract class ProtobufDynEncoder<T> implements Encodeable<ProtobufWriter
if (!factory.isSimpleMemberType(clazz, method.getGenericReturnType(), method.getReturnType())) {
return null;
}
String name = convertFieldName(factory, clazz, method);
String name = factory.readConvertFieldName(clazz, method);
if (names.contains(name)) {
continue;
}
@@ -190,12 +190,6 @@ public abstract class ProtobufDynEncoder<T> implements Encodeable<ProtobufWriter
}
}
protected static String convertFieldName(final ProtobufFactory factory, Class clazz, AccessibleObject element) {
ConvertColumnEntry ref = factory.findRef(clazz, element);
String name = ref == null || ref.name().isEmpty() ? factory.readGetSetFieldName(element) : ref.name();
return name;
}
protected static ProtobufDynEncoder generateDyncEncoder(
final ProtobufFactory factory, final Class clazz, final List<AccessibleObject> members) {
final ObjectEncoder selfObjEncoder = factory.createObjectEncoder(clazz);