Example usage for com.fasterxml.jackson.databind DeserializationContext findRootValueDeserializer

List of usage examples for com.fasterxml.jackson.databind DeserializationContext findRootValueDeserializer

Introduction

In this page you can find the example usage for com.fasterxml.jackson.databind DeserializationContext findRootValueDeserializer.

Prototype

public final JsonDeserializer<Object> findRootValueDeserializer(JavaType paramJavaType) 

Source Link

Usage

From source file:javaslang.jackson.datatype.deserialize.SerializableDeserializer.java

@Override
public T deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {
    JsonDeserializer<Object> deserializer = ctxt.findRootValueDeserializer(ctxt.constructType(byte[].class));
    byte[] bytes = (byte[]) deserializer.deserialize(p, ctxt);
    return deserialize(bytes);
}

From source file:javaslang.jackson.datatype.deserialize.ValueDeserializer.java

@Override
public void resolve(DeserializationContext ctxt) throws JsonMappingException {
    for (int i = 0; i < typeCount; i++) {
        if (i < javaType.containedTypeCount()) {
            deserializers.add(ctxt.findRootValueDeserializer(javaType.containedType(i)));
        } else {/*from  w  ww .  j  a v a  2s.  co  m*/
            deserializers.add(ctxt.findContextualValueDeserializer(TypeFactory.unknownType(), null));
        }
    }
}

From source file:org.ebayopensource.common.util.ParametersDeserializer.java

@SuppressWarnings("unchecked")
protected JsonDeserializer<Map> _findCustomDeser(DeserializationContext ctxt, JavaType type)
        throws JsonMappingException {
    // NOTE: since we don't yet have the referring property, this should be fine:
    JsonDeserializer<?> deser = ctxt.findRootValueDeserializer(type);
    return (JsonDeserializer<Map>) deser;
}

From source file:com.wealdtech.jackson.modules.TriValDeserializer.java

@Override
public TriVal<?> deserialize(JsonParser jp, DeserializationContext ctxt)
        throws IOException, JsonProcessingException {
    if (jp.getCurrentToken() == JsonToken.VALUE_STRING && jp.getText().length() == 0) {
        return TriVal.clear();
    }//from   ww  w.j a va2  s. c  om
    Object reference = ctxt.findRootValueDeserializer(_referenceType).deserialize(jp, ctxt);
    return TriVal.of(reference);
}

From source file:com.basistech.rosette.dm.jackson.MorphoAnalysisListDeserializer.java

private MorphoAnalysisListDeserializer(DeserializationContext ctxt) throws JsonMappingException {
    JavaType type = ctxt.constructType(MorphoAnalysis.class);
    maDeserializer = ctxt.findRootValueDeserializer(type);
    type = ctxt.constructType(HanMorphoAnalysis.class);
    hanMaDeserializer = ctxt.findRootValueDeserializer(type);
    type = ctxt.constructType(ArabicMorphoAnalysis.class);
    arMaDeserializer = ctxt.findRootValueDeserializer(type);
    ctxt.setAttribute(MorphoAnalysisListDeserializer.class, maDeserializer);
    type = ctxt.constructType(KoreanMorphoAnalysis.class);
    korMaDeserializer = ctxt.findRootValueDeserializer(type);
    ctxt.setAttribute(KoreanMorphoAnalysis.class, korMaDeserializer);
    cached = true;/*from   www  . j a v  a  2 s.  c  o m*/
}

From source file:javaslang.jackson.datatype.deserialize.MaplikeDeserializer.java

@SuppressWarnings("unchecked")
@Override//from   ww w  . j a va  2  s.  c  o m
public void resolve(DeserializationContext ctxt) throws JsonMappingException {
    mapLikeType = mapLike(javaType, ctxt);
    JavaType keyType = mapLikeType.getKeyType();
    if (keyType.getRawClass().isAssignableFrom(Comparable.class)) {
        keyComparator = (o1, o2) -> ((Comparable) o1).compareTo(o2);
    } else {
        keyComparator = (o1, o2) -> o1.toString().compareTo(o2.toString());
    }
    keyDeserializer = ctxt.findKeyDeserializer(keyType, null);
    valueDeserializer = ctxt.findRootValueDeserializer(mapLikeType.getContentType());
}

From source file:org.emfjson.jackson.databind.deser.ResourceDeserializer.java

@Override
public Resource deserialize(JsonParser jp, DeserializationContext ctxt, Resource intoValue) throws IOException {
    final Resource resource = getResource(ctxt, intoValue);
    if (resource == null) {
        throw new IllegalArgumentException("Invalid resource");
    }//from  w  ww  .ja v  a 2 s. com

    final ReferenceEntries entries = new ReferenceEntries();
    final EcoreTypeFactory ecoreType = new EcoreTypeFactory();
    final ResourceSet resourceSet = resource.getResourceSet();

    ctxt.setAttribute(RESOURCE, resource);
    ctxt.setAttribute(REFERENCE_ENTRIES, entries);
    ctxt.setAttribute(CACHE, new Cache());
    ctxt.setAttribute(TYPE_FACTORY, ecoreType);
    ctxt.setAttribute(RESOURCE_SET, resourceSet);

    if (!jp.hasCurrentToken()) {
        jp.nextToken();
    }

    final TypeFactory factory = TypeFactory.defaultInstance();
    final JsonDeserializer<Object> deserializer = ctxt
            .findRootValueDeserializer(factory.constructType(EObject.class));

    if (jp.getCurrentToken() == JsonToken.START_ARRAY) {

        while (jp.nextToken() != JsonToken.END_ARRAY) {

            EObject value = (EObject) deserializer.deserialize(jp, ctxt);
            if (value != null) {
                resource.getContents().add(value);
            }
        }

    } else if (jp.getCurrentToken() == JsonToken.START_OBJECT) {
        EObject value = (EObject) deserializer.deserialize(jp, ctxt);
        if (value != null) {
            resource.getContents().add(value);
        }
    }

    entries.resolve(resourceSet, uriHandler);

    return resource;
}