@@ -985,7 +985,7 @@ private void generateFieldEncodeWith(
985
985
break ;
986
986
987
987
case BEGIN_ENUM :
988
- generateEnumEncodeWith (sb , fieldToken , indent );
988
+ generateEnumEncodeWith (sb , fieldToken , typeToken , indent );
989
989
break ;
990
990
991
991
case BEGIN_SET :
@@ -1081,18 +1081,30 @@ private void generatePrimitiveValueEncodeWith(
1081
1081
private void generateEnumEncodeWith (
1082
1082
final StringBuilder sb ,
1083
1083
final Token fieldToken ,
1084
+ final Token typeToken ,
1084
1085
final String indent )
1085
1086
{
1086
1087
if (fieldToken .isConstantEncoding ())
1087
1088
{
1088
1089
return ;
1089
1090
}
1090
1091
1092
+ final String enumName = formatClassName (typeToken .applicableTypeName ());
1091
1093
final String propertyName = fieldToken .name ();
1092
1094
final String formattedPropertyName = formatPropertyName (propertyName );
1093
1095
1094
- sb .append (indent ).append ("encoder." ).append (formattedPropertyName ).append ("(dto." )
1095
- .append (formattedPropertyName ).append ("());\n " );
1096
+ sb .append (indent ).append (enumName ).append (" " ).append (formattedPropertyName ).append (" = " )
1097
+ .append ("dto." ).append (formattedPropertyName ).append ("();\n " );
1098
+ sb .append (indent ).append ("if (null != " ).append (formattedPropertyName ).append (")\n " );
1099
+ sb .append (indent ).append ("{\n " );
1100
+ sb .append (indent ).append (indent ).append ("encoder." ).append (formattedPropertyName )
1101
+ .append ("(" ).append (formattedPropertyName ).append (");\n " );
1102
+ sb .append (indent ).append ("}\n " );
1103
+ sb .append (indent ).append ("else\n " );
1104
+ sb .append (indent ).append ("{\n " );
1105
+ sb .append (indent ).append (indent ).append ("encoder." ).append (formattedPropertyName )
1106
+ .append ("(" ).append (enumName ).append (".NULL_VAL);\n " );
1107
+ sb .append (indent ).append ("}\n " );
1096
1108
}
1097
1109
1098
1110
private void generateComplexPropertyEncodeWith (
0 commit comments