public class StringToJsonTypeConverter extends AbstractObjectToJsonTypeConverter<String>
| Modifier and Type | Field and Description |
|---|---|
static StringToJsonTypeConverter |
STRING_TO_JSON_RESOLVER |
classesWhichCanResolved| Constructor and Description |
|---|
StringToJsonTypeConverter() |
| Modifier and Type | Method and Description |
|---|---|
Optional<AbstractJsonType> |
convertToJsonTypeOrEmpty(PrimitiveJsonTypesResolver primitiveJsonTypesResolver,
String convertedValue,
String propertyKey)
This method will be called in second phase conversion step (from some java Object to some implementation of AbstractJsonType) it will be called during
read properties from Map<String,Object>, Properties (without first processing step) or after first conversion phase (while reading properties from
file, Map<String,String>, inputStream)
But converters order (provided in PropertiesToJsonConverter constructor for List<ObjectToJsonTypeConverter> toJsonTypeResolvers or through
PropertiesToJsonConverterBuilder) doesn't have importance here as in first processing phase, it is important only when some of implementation of
ObjectToJsonTypeConverter can convert from the same java class, then order or the same
converters type have matter. |
getClassesWhichCanResolveclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitreturnOptionalJsonTyperesolveTypeOfResolverpublic static final StringToJsonTypeConverter STRING_TO_JSON_RESOLVER
public Optional<AbstractJsonType> convertToJsonTypeOrEmpty(PrimitiveJsonTypesResolver primitiveJsonTypesResolver, String convertedValue, String propertyKey)
ObjectToJsonTypeConverter
But converters order (provided in PropertiesToJsonConverter constructor for List<ObjectToJsonTypeConverter> toJsonTypeResolvers or through
PropertiesToJsonConverterBuilder) doesn't have importance here as in first processing phase, it is important only when some of implementation of ObjectToJsonTypeConverter can convert from the same java class, then order or the same
converters type have matter. But mostly hierarchy of classes plays a main role here It looks for sufficient resolver, firstly will looks for exactly
match class type provided by method ObjectToJsonTypeConverter.getClassesWhichCanResolve()
if find a few resolvers for the same class then it will looks for firs converter which properly convert java object to AbstractJsonType (here converters
order does it matter). More here JsonTypeResolversHierarchyResolver
AbstractJsonType should contains converted data and provides implementation for "toStringJson()" method if you provide your own... or you can return
instance of existence one implementation in package 'pl.jalokim.propertiestojson.object'... number, boolean, text, primitive array, json objects... or
simply convert Java object to instance ObjectJsonType by static method: public static AbstractJsonType convertFromObjectToJson(Object propertyValue,
String propertyKey) SuperObjectToJsonTypeConverter.convertFromObjectToJson(Object propertyValue, String propertyKey) Or if you want return null
json object then return instance of JsonNullReferenceType.NULL_OBJECT Or if you want to skip this json leaf then return instance of SkipJsonField.SKIP_JSON_FIELD then it will not add it to json with null value.
primitiveJsonTypesResolver - primitiveJsonTypesResolverconvertedValue - currently processing property value but as generic typepropertyKey - currently processing property keyCopyright © 2022. All rights reserved.