// Path: src/main/java/pl/jalokim/propertiestojson/resolvers/primitives/delegator/PrimitiveJsonTypeDelegatorResolver.java
// @SuppressWarnings("unchecked")
// @SuppressFBWarnings("UR_UNINIT_READ_CALLED_FROM_SUPER_CONSTRUCTOR")
// public class PrimitiveJsonTypeDelegatorResolver<T> extends PrimitiveJsonTypeResolver<T> {
// 
//     private final TextToConcreteObjectResolver toObjectResolver;
//     private final AbstractObjectToJsonTypeConverter toJsonResolver;
// 
//     @SuppressWarnings("PMD.ConstructorCallsOverridableMethod")
//     public PrimitiveJsonTypeDelegatorResolver(TextToConcreteObjectResolver toObjectResolver,
//         AbstractObjectToJsonTypeConverter toJsonResolver) {
//         this.toObjectResolver = toObjectResolver;
//         this.toJsonResolver = toJsonResolver;
//         setValueForField(this, "typeWhichCanBeResolved", resolveTypeOfResolver());
//     }
// 
//     @Override
//     public Class<?> resolveTypeOfResolver() {
//         if (toJsonResolver != null) {
//             return toJsonResolver.resolveTypeOfResolver();
//         }
//         return null;
//     }
// 
//     @Override
//     public AbstractJsonType returnConcreteJsonType(PrimitiveJsonTypesResolver primitiveJsonTypesResolver,
//         T convertedValue,
//         String propertyKey) {
//         Optional<AbstractJsonType> optional = toJsonResolver.convertToJsonTypeOrEmpty(primitiveJsonTypesResolver,
//             convertedValue,
//             propertyKey);
//         return optional.get();
//     }
// 
//     @Override
//     protected Optional<T> returnConcreteValueWhenCanBeResolved(PrimitiveJsonTypesResolver primitiveJsonTypesResolver,
//         String propertyValue,
//         String propertyKey) {
//         Optional<Object> optionalObject = toObjectResolver.returnObjectWhenCanBeResolved(primitiveJsonTypesResolver,
//             propertyValue, propertyKey);
//         return optionalObject.map(o -> (T) o);
//     }
// 
//     @Override
//     public List<Class<?>> getClassesWhichCanResolve() {
//         return toJsonResolver.getClassesWhichCanResolve();
//     }
// }
// 
// Path: src/main/java/pl/jalokim/propertiestojson/resolvers/primitives/object/StringToJsonTypeConverter.java
// public class StringToJsonTypeConverter extends AbstractObjectToJsonTypeConverter<String> {
// 
//     public static final StringToJsonTypeConverter STRING_TO_JSON_RESOLVER = new StringToJsonTypeConverter();
// 
//     @Override
//     public Optional<AbstractJsonType> convertToJsonTypeOrEmpty(PrimitiveJsonTypesResolver primitiveJsonTypesResolver,
//         String convertedValue,
//         String propertyKey) {
//         return Optional.of(new StringJsonType(convertedValue));
//     }
// }
// 
// Path: src/main/java/pl/jalokim/propertiestojson/resolvers/primitives/string/TextToStringResolver.java
// public class TextToStringResolver implements TextToConcreteObjectResolver<String> {
// 
//     public static final TextToStringResolver TO_STRING_RESOLVER = new TextToStringResolver();
// 
//     @Override
//     public Optional<String> returnObjectWhenCanBeResolved(PrimitiveJsonTypesResolver primitiveJsonTypesResolver,
//         String propertyValue,
//         String propertyKey) {
//         return Optional.ofNullable(propertyValue);
//     }
// }


import pl.jalokim.propertiestojson.resolvers.primitives.delegator.PrimitiveJsonTypeDelegatorResolver;
import pl.jalokim.propertiestojson.resolvers.primitives.object.StringToJsonTypeConverter;
import pl.jalokim.propertiestojson.resolvers.primitives.string.TextToStringResolver;
package pl.jalokim.propertiestojson.resolvers.primitives;


@Deprecated
public class StringJsonTypeResolver extends PrimitiveJsonTypeDelegatorResolver<String> {

    public StringJsonTypeResolver() {
// Path: src/main/java/pl/jalokim/propertiestojson/resolvers/primitives/delegator/PrimitiveJsonTypeDelegatorResolver.java
// @SuppressWarnings("unchecked")
// @SuppressFBWarnings("UR_UNINIT_READ_CALLED_FROM_SUPER_CONSTRUCTOR")
// public class PrimitiveJsonTypeDelegatorResolver<T> extends PrimitiveJsonTypeResolver<T> {
// 
//     private final TextToConcreteObjectResolver toObjectResolver;
//     private final AbstractObjectToJsonTypeConverter toJsonResolver;
// 
//     @SuppressWarnings("PMD.ConstructorCallsOverridableMethod")
//     public PrimitiveJsonTypeDelegatorResolver(TextToConcreteObjectResolver toObjectResolver,
//         AbstractObjectToJsonTypeConverter toJsonResolver) {
//         this.toObjectResolver = toObjectResolver;
//         this.toJsonResolver = toJsonResolver;
//         setValueForField(this, "typeWhichCanBeResolved", resolveTypeOfResolver());
//     }
// 
//     @Override
//     public Class<?> resolveTypeOfResolver() {
//         if (toJsonResolver != null) {
//             return toJsonResolver.resolveTypeOfResolver();
//         }
//         return null;
//     }
// 
//     @Override
//     public AbstractJsonType returnConcreteJsonType(PrimitiveJsonTypesResolver primitiveJsonTypesResolver,
//         T convertedValue,
//         String propertyKey) {
//         Optional<AbstractJsonType> optional = toJsonResolver.convertToJsonTypeOrEmpty(primitiveJsonTypesResolver,
//             convertedValue,
//             propertyKey);
//         return optional.get();
//     }
// 
//     @Override
//     protected Optional<T> returnConcreteValueWhenCanBeResolved(PrimitiveJsonTypesResolver primitiveJsonTypesResolver,
//         String propertyValue,
//         String propertyKey) {
//         Optional<Object> optionalObject = toObjectResolver.returnObjectWhenCanBeResolved(primitiveJsonTypesResolver,
//             propertyValue, propertyKey);
//         return optionalObject.map(o -> (T) o);
//     }
// 
//     @Override
//     public List<Class<?>> getClassesWhichCanResolve() {
//         return toJsonResolver.getClassesWhichCanResolve();
//     }
// }
// 
// Path: src/main/java/pl/jalokim/propertiestojson/resolvers/primitives/object/StringToJsonTypeConverter.java
// public class StringToJsonTypeConverter extends AbstractObjectToJsonTypeConverter<String> {
// 
//     public static final StringToJsonTypeConverter STRING_TO_JSON_RESOLVER = new StringToJsonTypeConverter();
// 
//     @Override
//     public Optional<AbstractJsonType> convertToJsonTypeOrEmpty(PrimitiveJsonTypesResolver primitiveJsonTypesResolver,
//         String convertedValue,
//         String propertyKey) {
//         return Optional.of(new StringJsonType(convertedValue));
//     }
// }
// 
// Path: src/main/java/pl/jalokim/propertiestojson/resolvers/primitives/string/TextToStringResolver.java
// public class TextToStringResolver implements TextToConcreteObjectResolver<String> {
// 
//     public static final TextToStringResolver TO_STRING_RESOLVER = new TextToStringResolver();
// 
//     @Override
//     public Optional<String> returnObjectWhenCanBeResolved(PrimitiveJsonTypesResolver primitiveJsonTypesResolver,
//         String propertyValue,
//         String propertyKey) {
//         return Optional.ofNullable(propertyValue);
//     }
// }


// Path: src/main/java/pl/jalokim/propertiestojson/resolvers/primitives/StringJsonTypeResolver.java
import pl.jalokim.propertiestojson.resolvers.primitives.delegator.PrimitiveJsonTypeDelegatorResolver;
import pl.jalokim.propertiestojson.resolvers.primitives.object.StringToJsonTypeConverter;
import pl.jalokim.propertiestojson.resolvers.primitives.string.TextToStringResolver;

package pl.jalokim.propertiestojson.resolvers.primitives;


@Deprecated
public class StringJsonTypeResolver extends PrimitiveJsonTypeDelegatorResolver<String> {

    public StringJsonTypeResolver() {
        super(new TextToStringResolver(), new StringToJsonTypeConverter());