com.evrythng.java.wrapper.mapping.Deserializer.java Source code

Java tutorial

Introduction

Here is the source code for com.evrythng.java.wrapper.mapping.Deserializer.java

Source

/*
 * (c) Copyright Reserved EVRYTHNG Limited 2016. All rights reserved.
 * Use of this material is subject to license.
 * Copying and unauthorised use of this material strictly prohibited.
 */
package com.evrythng.java.wrapper.mapping;

import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.deser.std.StdDeserializer;

import java.util.ArrayList;
import java.util.HashMap;

public abstract class Deserializer<T> extends StdDeserializer<T> {

    private static final long serialVersionUID = 6174087253172016674L;

    protected Deserializer(final Class<?> vc) {

        super(vc);
    }

    protected final <X> X getFieldValue(final JsonNode node) {

        if (node == null) {
            return null;
        }
        Object value = null;
        if (node.isBoolean()) {
            value = node.asBoolean();
        }
        if (node.isNumber()) {
            value = node.asDouble();
        }
        if (node.isTextual()) {
            value = node.asText();
        }
        if (node.isArray()) {
            value = new ArrayList<>();
        }
        if (node.isObject()) {
            value = new HashMap<>();
        }
        return (X) value;
    }
}