public class PrimitiveJsonTypeDelegatorResolver<T> extends PrimitiveJsonTypeResolver<T>
canResolveClass| Constructor and Description |
|---|
PrimitiveJsonTypeDelegatorResolver(TextToConcreteObjectResolver toObjectResolver,
AbstractObjectToJsonTypeConverter toJsonResolver) |
| Modifier and Type | Method and Description |
|---|---|
List<Class<?>> |
getClassesWhichCanResolve() |
Class<?> |
resolveTypeOfResolver() |
AbstractJsonType |
returnConcreteJsonType(PrimitiveJsonTypesResolver primitiveJsonTypesResolver,
T convertedValue,
String propertyKey)
This method will be called in second phase processing 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 processing step (while reading properties from
file, Map<String,String>, inputStream)
But resolvers order (provided in PropertiesToJsonConverter(PrimitiveJsonTypeResolver... primitiveResolvers) constructor) doesn't have importance here as
in first processing phase.
|
protected Optional<T> |
returnConcreteValueWhenCanBeResolved(PrimitiveJsonTypesResolver primitiveJsonTypesResolver,
String propertyValue,
String propertyKey)
This method will be called in first phase processing step (from raw text to some object) if your condition is met then return concrete value of Object.
|
returnConvertedValueForClearedText, returnJsonTypepublic PrimitiveJsonTypeDelegatorResolver(TextToConcreteObjectResolver toObjectResolver, AbstractObjectToJsonTypeConverter toJsonResolver)
public Class<?> resolveTypeOfResolver()
public AbstractJsonType returnConcreteJsonType(PrimitiveJsonTypesResolver primitiveJsonTypesResolver, T convertedValue, String propertyKey)
PrimitiveJsonTypeResolver
But resolvers order (provided in PropertiesToJsonConverter(PrimitiveJsonTypeResolver... primitiveResolvers) constructor) doesn't have importance here as
in first processing phase. The hierarchy of classes plays a central role here It looks for sufficient resolver, firstly will looks for exactly match
class type provided by method PrimitiveJsonTypeResolver.getClassesWhichCanResolve() More here JsonTypeResolversHierarchyResolver
AbstractJsonType should contains converted data and provides implementation for "toStringJson()" method if you provide you 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) ObjectFromTextJsonTypeResolver.convertFromObjectToJson(Object propertyValue, String propertyKey) Or if you want return null
json object then return instance of JsonNullReferenceType.NULL_OBJECT
returnConcreteJsonType in class PrimitiveJsonTypeResolver<T>primitiveJsonTypesResolver - primitiveJsonTypesResolverconvertedValue - currently processing property value but as generic typepropertyKey - currently processing property keyprotected Optional<T> returnConcreteValueWhenCanBeResolved(PrimitiveJsonTypesResolver primitiveJsonTypesResolver, String propertyValue, String propertyKey)
PrimitiveJsonTypeResolverreturnConcreteValueWhenCanBeResolved in class PrimitiveJsonTypeResolver<T>primitiveJsonTypesResolver - primitiveJsonTypesResolverpropertyValue - currently processing property valuepropertyKey - currently processing property keypublic List<Class<?>> getClassesWhichCanResolve()
getClassesWhichCanResolve in class PrimitiveJsonTypeResolver<T>Copyright © 2020. All rights reserved.