Example usage for com.fasterxml.jackson.core JsonParser getCodec

List of usage examples for com.fasterxml.jackson.core JsonParser getCodec

Introduction

In this page you can find the example usage for com.fasterxml.jackson.core JsonParser getCodec.

Prototype

public abstract ObjectCodec getCodec();

Source Link

Document

Accessor for ObjectCodec associated with this parser, if any.

Usage

From source file:com.msopentech.odatajclient.engine.data.metadata.edm.v4.NavigationPropertyDeserializer.java

@Override
protected NavigationProperty doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
        throws IOException, JsonProcessingException {

    final NavigationProperty property = new NavigationProperty();

    for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
        final JsonToken token = jp.getCurrentToken();
        if (token == JsonToken.FIELD_NAME) {
            if ("Name".equals(jp.getCurrentName())) {
                property.setName(jp.nextTextValue());
            } else if ("Type".equals(jp.getCurrentName())) {
                property.setType(jp.nextTextValue());
            } else if ("Nullable".equals(jp.getCurrentName())) {
                property.setNullable(BooleanUtils.toBoolean(jp.nextTextValue()));
            } else if ("Partner".equals(jp.getCurrentName())) {
                property.setPartner(jp.nextTextValue());
            } else if ("ContainsTarget".equals(jp.getCurrentName())) {
                property.setContainsTarget(BooleanUtils.toBoolean(jp.nextTextValue()));
            } else if ("ReferentialConstraint".equals(jp.getCurrentName())) {
                jp.nextToken();/*from  ww w.ja v  a 2 s . c o  m*/
                property.getReferentialConstraints()
                        .add(jp.getCodec().readValue(jp, ReferentialConstraint.class));
            } else if ("OnDelete".equals(jp.getCurrentName())) {
                jp.nextToken();
                property.setOnDelete(jp.getCodec().readValue(jp, OnDelete.class));
            } else if ("Annotation".equals(jp.getCurrentName())) {
                jp.nextToken();
                property.setAnnotation(jp.getCodec().readValue(jp, Annotation.class));
            }
        }
    }

    return property;
}

From source file:com.msopentech.odatajclient.engine.metadata.edm.EnumTypeDeserializer.java

@Override
protected AbstractEnumType doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
        throws IOException, JsonProcessingException {

    final AbstractEnumType enumType = ODataVersion.V3 == client.getWorkingVersion()
            ? new com.msopentech.odatajclient.engine.metadata.edm.v3.EnumType()
            : new com.msopentech.odatajclient.engine.metadata.edm.v4.EnumType();

    for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
        final JsonToken token = jp.getCurrentToken();
        if (token == JsonToken.FIELD_NAME) {
            if ("Name".equals(jp.getCurrentName())) {
                enumType.setName(jp.nextTextValue());
            } else if ("UnderlyingType".equals(jp.getCurrentName())) {
                enumType.setUnderlyingType(jp.nextTextValue());
            } else if ("IsFlags".equals(jp.getCurrentName())) {
                enumType.setFlags(BooleanUtils.toBoolean(jp.nextTextValue()));
            } else if ("Member".equals(jp.getCurrentName())) {
                jp.nextToken();/*from w  w w  .  j  a v a  2s.c o  m*/
                if (enumType instanceof com.msopentech.odatajclient.engine.metadata.edm.v3.EnumType) {
                    ((com.msopentech.odatajclient.engine.metadata.edm.v3.EnumType) enumType).getMembers()
                            .add(jp.getCodec().readValue(jp,
                                    com.msopentech.odatajclient.engine.metadata.edm.v3.Member.class));
                } else {
                    ((com.msopentech.odatajclient.engine.metadata.edm.v4.EnumType) enumType).getMembers()
                            .add(jp.getCodec().readValue(jp,
                                    com.msopentech.odatajclient.engine.metadata.edm.v4.Member.class));
                }
            } else if ("Annotation".equals(jp.getCurrentName())) {
                jp.nextToken();
                ((com.msopentech.odatajclient.engine.metadata.edm.v4.EnumType) enumType)
                        .setAnnotation(jp.getCodec().readValue(jp, Annotation.class));
            }
        }
    }

    return enumType;
}

From source file:com.msopentech.odatajclient.engine.data.metadata.edm.EnumTypeDeserializer.java

@Override
protected AbstractEnumType doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
        throws IOException, JsonProcessingException {

    final AbstractEnumType enumType = ODataVersion.V3 == client.getWorkingVersion()
            ? new com.msopentech.odatajclient.engine.data.metadata.edm.v3.EnumType()
            : new com.msopentech.odatajclient.engine.data.metadata.edm.v4.EnumType();

    for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
        final JsonToken token = jp.getCurrentToken();
        if (token == JsonToken.FIELD_NAME) {
            if ("Name".equals(jp.getCurrentName())) {
                enumType.setName(jp.nextTextValue());
            } else if ("UnderlyingType".equals(jp.getCurrentName())) {
                enumType.setUnderlyingType(jp.nextTextValue());
            } else if ("IsFlags".equals(jp.getCurrentName())) {
                enumType.setFlags(BooleanUtils.toBoolean(jp.nextTextValue()));
            } else if ("Member".equals(jp.getCurrentName())) {
                jp.nextToken();// w  w  w  .j  a v  a 2 s.com
                if (enumType instanceof com.msopentech.odatajclient.engine.data.metadata.edm.v3.EnumType) {
                    ((com.msopentech.odatajclient.engine.data.metadata.edm.v3.EnumType) enumType).getMembers()
                            .add(jp.getCodec().readValue(jp,
                                    com.msopentech.odatajclient.engine.data.metadata.edm.v3.Member.class));
                } else {
                    ((com.msopentech.odatajclient.engine.data.metadata.edm.v4.EnumType) enumType).getMembers()
                            .add(jp.getCodec().readValue(jp,
                                    com.msopentech.odatajclient.engine.data.metadata.edm.v4.Member.class));
                }
            } else if ("Annotation".equals(jp.getCurrentName())) {
                jp.nextToken();
                ((com.msopentech.odatajclient.engine.data.metadata.edm.v4.EnumType) enumType)
                        .setAnnotation(jp.getCodec().readValue(jp, Annotation.class));
            }
        }
    }

    return enumType;
}

From source file:com.msopentech.odatajclient.engine.metadata.edm.EntitySetDeserializer.java

@Override
protected AbstractEntitySet doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
        throws IOException, JsonProcessingException {

    final AbstractEntitySet entitySet = ODataVersion.V3 == client.getWorkingVersion()
            ? new com.msopentech.odatajclient.engine.metadata.edm.v3.EntitySet()
            : new com.msopentech.odatajclient.engine.metadata.edm.v4.EntitySet();

    for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
        final JsonToken token = jp.getCurrentToken();
        if (token == JsonToken.FIELD_NAME) {
            if ("Name".equals(jp.getCurrentName())) {
                entitySet.setName(jp.nextTextValue());
            } else if ("EntityType".equals(jp.getCurrentName())) {
                entitySet.setEntityType(jp.nextTextValue());
            } else if ("IncludeInServiceDocument".equals(jp.getCurrentName())) {
                ((com.msopentech.odatajclient.engine.metadata.edm.v4.EntitySet) entitySet)
                        .setIncludeInServiceDocument(BooleanUtils.toBoolean(jp.nextTextValue()));
            } else if ("NavigationPropertyBinding".equals(jp.getCurrentName())) {
                jp.nextToken();/*from   w  ww. java 2s.  com*/
                ((com.msopentech.odatajclient.engine.metadata.edm.v4.EntitySet) entitySet)
                        .getNavigationPropertyBindings()
                        .add(jp.getCodec().readValue(jp, NavigationPropertyBinding.class));
            } else if ("Annotation".equals(jp.getCurrentName())) {
                jp.nextToken();
                ((com.msopentech.odatajclient.engine.metadata.edm.v4.EntitySet) entitySet)
                        .setAnnotation(jp.getCodec().readValue(jp, Annotation.class));
            }
        }
    }

    return entitySet;
}

From source file:com.msopentech.odatajclient.engine.data.metadata.edm.EntitySetDeserializer.java

@Override
protected AbstractEntitySet doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
        throws IOException, JsonProcessingException {

    final AbstractEntitySet entitySet = ODataVersion.V3 == client.getWorkingVersion()
            ? new com.msopentech.odatajclient.engine.data.metadata.edm.v3.EntitySet()
            : new com.msopentech.odatajclient.engine.data.metadata.edm.v4.EntitySet();

    for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
        final JsonToken token = jp.getCurrentToken();
        if (token == JsonToken.FIELD_NAME) {
            if ("Name".equals(jp.getCurrentName())) {
                entitySet.setName(jp.nextTextValue());
            } else if ("EntityType".equals(jp.getCurrentName())) {
                entitySet.setEntityType(jp.nextTextValue());
            } else if ("IncludeInServiceDocument".equals(jp.getCurrentName())) {
                ((com.msopentech.odatajclient.engine.data.metadata.edm.v4.EntitySet) entitySet)
                        .setIncludeInServiceDocument(BooleanUtils.toBoolean(jp.nextTextValue()));
            } else if ("NavigationPropertyBinding".equals(jp.getCurrentName())) {
                jp.nextToken();/*from   ww  w . j  a va  2s . com*/
                ((com.msopentech.odatajclient.engine.data.metadata.edm.v4.EntitySet) entitySet)
                        .getNavigationPropertyBindings()
                        .add(jp.getCodec().readValue(jp, NavigationPropertyBinding.class));
            } else if ("Annotation".equals(jp.getCurrentName())) {
                jp.nextToken();
                ((com.msopentech.odatajclient.engine.data.metadata.edm.v4.EntitySet) entitySet)
                        .setAnnotation(jp.getCodec().readValue(jp, Annotation.class));
            }
        }
    }

    return entitySet;
}

From source file:com.msopentech.odatajclient.engine.metadata.edm.EntityTypeDeserializer.java

@Override
protected AbstractEntityType doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
        throws IOException, JsonProcessingException {

    final AbstractEntityType entityType = ODataVersion.V3 == client.getWorkingVersion()
            ? new com.msopentech.odatajclient.engine.metadata.edm.v3.EntityType()
            : new com.msopentech.odatajclient.engine.metadata.edm.v4.EntityType();

    for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
        final JsonToken token = jp.getCurrentToken();
        if (token == JsonToken.FIELD_NAME) {
            if ("Name".equals(jp.getCurrentName())) {
                entityType.setName(jp.nextTextValue());
            } else if ("Abstract".equals(jp.getCurrentName())) {
                entityType.setAbstractEntityType(BooleanUtils.toBoolean(jp.nextTextValue()));
            } else if ("BaseType".equals(jp.getCurrentName())) {
                entityType.setBaseType(jp.nextTextValue());
            } else if ("OpenType".equals(jp.getCurrentName())) {
                entityType.setOpenType(BooleanUtils.toBoolean(jp.nextTextValue()));
            } else if ("HasStream".equals(jp.getCurrentName())) {
                entityType.setHasStream(BooleanUtils.toBoolean(jp.nextTextValue()));
            } else if ("Key".equals(jp.getCurrentName())) {
                jp.nextToken();//from  www .  ja v a2s  .c  o m
                entityType.setKey(jp.getCodec().readValue(jp, EntityKey.class));
            } else if ("Property".equals(jp.getCurrentName())) {
                jp.nextToken();
                if (entityType instanceof com.msopentech.odatajclient.engine.metadata.edm.v3.EntityType) {
                    ((com.msopentech.odatajclient.engine.metadata.edm.v3.EntityType) entityType).getProperties()
                            .add(jp.getCodec().readValue(jp,
                                    com.msopentech.odatajclient.engine.metadata.edm.v3.Property.class));
                } else {
                    ((com.msopentech.odatajclient.engine.metadata.edm.v4.EntityType) entityType).getProperties()
                            .add(jp.getCodec().readValue(jp,
                                    com.msopentech.odatajclient.engine.metadata.edm.v4.Property.class));
                }
            } else if ("NavigationProperty".equals(jp.getCurrentName())) {
                jp.nextToken();
                if (entityType instanceof com.msopentech.odatajclient.engine.metadata.edm.v3.EntityType) {
                    ((com.msopentech.odatajclient.engine.metadata.edm.v3.EntityType) entityType)
                            .getNavigationProperties().add(jp.getCodec().readValue(jp,
                                    com.msopentech.odatajclient.engine.metadata.edm.v3.NavigationProperty.class));
                } else {
                    ((com.msopentech.odatajclient.engine.metadata.edm.v4.EntityType) entityType)
                            .getNavigationProperties().add(jp.getCodec().readValue(jp,
                                    com.msopentech.odatajclient.engine.metadata.edm.v4.NavigationProperty.class));
                }
            } else if ("Annotation".equals(jp.getCurrentName())) {
                jp.nextToken();
                ((com.msopentech.odatajclient.engine.metadata.edm.v4.EntityType) entityType)
                        .setAnnotation(jp.getCodec().readValue(jp, Annotation.class));
            }
        }
    }

    return entityType;
}

From source file:com.msopentech.odatajclient.engine.data.metadata.edm.EntityTypeDeserializer.java

@Override
protected AbstractEntityType doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
        throws IOException, JsonProcessingException {

    final AbstractEntityType entityType = ODataVersion.V3 == client.getWorkingVersion()
            ? new com.msopentech.odatajclient.engine.data.metadata.edm.v3.EntityType()
            : new com.msopentech.odatajclient.engine.data.metadata.edm.v4.EntityType();

    for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
        final JsonToken token = jp.getCurrentToken();
        if (token == JsonToken.FIELD_NAME) {
            if ("Name".equals(jp.getCurrentName())) {
                entityType.setName(jp.nextTextValue());
            } else if ("Abstract".equals(jp.getCurrentName())) {
                entityType.setAbstractEntityType(BooleanUtils.toBoolean(jp.nextTextValue()));
            } else if ("BaseType".equals(jp.getCurrentName())) {
                entityType.setBaseType(jp.nextTextValue());
            } else if ("OpenType".equals(jp.getCurrentName())) {
                entityType.setOpenType(BooleanUtils.toBoolean(jp.nextTextValue()));
            } else if ("HasStream".equals(jp.getCurrentName())) {
                entityType.setHasStream(BooleanUtils.toBoolean(jp.nextTextValue()));
            } else if ("Key".equals(jp.getCurrentName())) {
                jp.nextToken();/*  ww  w  . j  av a2s .  c  o  m*/
                entityType.setKey(jp.getCodec().readValue(jp, EntityKey.class));
            } else if ("Property".equals(jp.getCurrentName())) {
                jp.nextToken();
                if (entityType instanceof com.msopentech.odatajclient.engine.data.metadata.edm.v3.EntityType) {
                    ((com.msopentech.odatajclient.engine.data.metadata.edm.v3.EntityType) entityType)
                            .getProperties().add(jp.getCodec().readValue(jp,
                                    com.msopentech.odatajclient.engine.data.metadata.edm.v3.Property.class));
                } else {
                    ((com.msopentech.odatajclient.engine.data.metadata.edm.v4.EntityType) entityType)
                            .getProperties().add(jp.getCodec().readValue(jp,
                                    com.msopentech.odatajclient.engine.data.metadata.edm.v4.Property.class));
                }
            } else if ("NavigationProperty".equals(jp.getCurrentName())) {
                jp.nextToken();
                if (entityType instanceof com.msopentech.odatajclient.engine.data.metadata.edm.v3.EntityType) {
                    ((com.msopentech.odatajclient.engine.data.metadata.edm.v3.EntityType) entityType)
                            .getNavigationProperties().add(jp.getCodec().readValue(jp,
                                    com.msopentech.odatajclient.engine.data.metadata.edm.v3.NavigationProperty.class));
                } else {
                    ((com.msopentech.odatajclient.engine.data.metadata.edm.v4.EntityType) entityType)
                            .getNavigationProperties().add(jp.getCodec().readValue(jp,
                                    com.msopentech.odatajclient.engine.data.metadata.edm.v4.NavigationProperty.class));
                }
            } else if ("Annotation".equals(jp.getCurrentName())) {
                jp.nextToken();
                ((com.msopentech.odatajclient.engine.data.metadata.edm.v4.EntityType) entityType)
                        .setAnnotation(jp.getCodec().readValue(jp, Annotation.class));
            }
        }
    }

    return entityType;
}

From source file:com.msopentech.odatajclient.engine.data.metadata.edm.v4.TypeDefinitionDeserializer.java

@Override
protected TypeDefinition doDeserialize(final JsonParser jp, final DeserializationContext ctxt)
        throws IOException, JsonProcessingException {

    final TypeDefinition typeDefinition = new TypeDefinition();

    for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
        final JsonToken token = jp.getCurrentToken();
        if (token == JsonToken.FIELD_NAME) {
            if ("Name".equals(jp.getCurrentName())) {
                typeDefinition.setName(jp.nextTextValue());
            } else if ("UnderlyingType".equals(jp.getCurrentName())) {
                typeDefinition.setUnderlyingType(jp.nextTextValue());
            } else if ("MaxLength".equals(jp.getCurrentName())) {
                typeDefinition.setMaxLength(jp.nextTextValue());
            } else if ("Unicode".equals(jp.getCurrentName())) {
                typeDefinition.setUnicode(BooleanUtils.toBoolean(jp.nextTextValue()));
            } else if ("Precision".equals(jp.getCurrentName())) {
                typeDefinition.setPrecision(BigInteger.valueOf(jp.nextLongValue(0L)));
            } else if ("Scale".equals(jp.getCurrentName())) {
                typeDefinition.setScale(BigInteger.valueOf(jp.nextLongValue(0L)));
            } else if ("SRID".equals(jp.getCurrentName())) {
                typeDefinition.setSrid(jp.nextTextValue());
            } else if ("Annotation".equals(jp.getCurrentName())) {
                jp.nextToken();/*w ww  .j a  v a  2  s  .  c om*/
                typeDefinition.getAnnotations().add(jp.getCodec().readValue(jp, Annotation.class));
            }
        }
    }

    return typeDefinition;
}

From source file:com.github.jonpeterson.jackson.module.versioning.VersionedModelDeserializer.java

@Override
public T deserialize(JsonParser parser, DeserializationContext context) throws IOException {
    JsonNode jsonNode = parser.readValueAsTree();

    if (!(jsonNode instanceof ObjectNode))
        throw context.mappingException("value must be a JSON object");

    ObjectNode modelData = (ObjectNode) jsonNode;

    JsonNode modelVersionNode = modelData.remove(jsonVersionedModel.propertyName());

    String modelVersion = null;/*w  ww . j  a  v  a 2 s .c o  m*/
    if (modelVersionNode != null)
        modelVersion = modelVersionNode.asText();

    if (modelVersion == null)
        modelVersion = jsonVersionedModel.defaultDeserializeToVersion();

    if (modelVersion.isEmpty())
        throw context.mappingException("'" + jsonVersionedModel.propertyName()
                + "' property was null and defaultDeserializeToVersion was not set");

    // convert the model if converter specified and model needs converting
    if (converter != null && (jsonVersionedModel.alwaysConvert()
            || !modelVersion.equals(jsonVersionedModel.currentVersion())))
        modelData = converter.convert(modelData, modelVersion, jsonVersionedModel.currentVersion(),
                context.getNodeFactory());

    // set the serializeToVersionProperty value to the source model version if the defaultToSource property is true
    if (serializeToVersionAnnotation != null && serializeToVersionAnnotation.defaultToSource())
        modelData.put(serializeToVersionProperty.getName(), modelVersion);

    JsonParser postInterceptionParser = new TreeTraversingParser(modelData, parser.getCodec());
    postInterceptionParser.nextToken();
    return delegate.deserialize(postInterceptionParser, context);
}