@@ -1125,7 +1125,7 @@ public <T> FieldWriter<T> createFieldWriter(
11251125 return new FieldWriterOffsetDateTime (fieldName , ordinal , features , format , locale , label , fieldType , fieldClass , field , null , null );
11261126 }
11271127
1128- if (fieldClass == UUID .class ) {
1128+ if (fieldClass == UUID .class && isDefaultUUIDObjectWriter ( provider ) ) {
11291129 return new FieldWriterUUID (fieldName , ordinal , features , format , label , fieldType , fieldClass , field , null , null );
11301130 }
11311131
@@ -1433,7 +1433,7 @@ public <T> FieldWriter<T> createFieldWriter(
14331433 return new FieldWriterOffsetDateTime (fieldName , ordinal , features , format , locale , label , fieldType , fieldClass , field , method , null );
14341434 }
14351435
1436- if (fieldClass == UUID .class ) {
1436+ if (fieldClass == UUID .class && isDefaultUUIDObjectWriter ( provider ) ) {
14371437 return new FieldWriterUUID (fieldName , ordinal , features , format , label , fieldType , fieldClass , field , method , null );
14381438 }
14391439
@@ -1583,7 +1583,7 @@ public <T, V> FieldWriter createFieldWriter(
15831583 Class fieldClass ,
15841584 Function <T , V > function
15851585 ) {
1586- return createFieldWriter (null , null , fieldName , 0 , 0 , null , null , fieldClass , fieldClass , null , function );
1586+ return createFieldWriter (JSONFactory . getDefaultObjectWriterProvider () , null , fieldName , 0 , 0 , null , null , fieldClass , fieldClass , null , function );
15871587 }
15881588
15891589 /**
@@ -1865,7 +1865,7 @@ public <T, V> FieldWriter<T> createFieldWriter(
18651865 return new FieldWriterOffsetDateTime (fieldName , ordinal , features , format , locale , label , fieldType , fieldClass , field , method , function );
18661866 }
18671867
1868- if (fieldClass == UUID .class ) {
1868+ if (fieldClass == UUID .class && isDefaultUUIDObjectWriter ( provider ) ) {
18691869 return new FieldWriterUUID (fieldName , ordinal , features , format , label , fieldType , fieldClass , field , method , function );
18701870 }
18711871
@@ -1924,6 +1924,10 @@ public <T, V> FieldWriter<T> createFieldWriter(
19241924 return new FieldWriterObject (fieldName , ordinal , features , format , locale , label , fieldType , fieldClass , field , method , function );
19251925 }
19261926
1927+ private static boolean isDefaultUUIDObjectWriter (ObjectWriterProvider provider ) {
1928+ return provider .getObjectWriter (UUID .class ) == ObjectWriterImplUUID .INSTANCE ;
1929+ }
1930+
19271931 static class LambdaInfo {
19281932 final Class fieldClass ;
19291933 final Class supplierClass ;
0 commit comments