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

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

Introduction

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

Prototype

public abstract int getIntValue() throws IOException, JsonParseException;

Source Link

Document

Numeric accessor that can be called when the current token is of type JsonToken#VALUE_NUMBER_INT and it can be expressed as a value of Java int primitive type.

Usage

From source file:com.google.openrtb.json.OpenRtbJsonReader.java

protected void readFormatField(JsonParser par, Format.Builder format, String fieldName) throws IOException {
    switch (fieldName) {
    case "w":
        format.setW(par.getIntValue());
        break;//from   w ww.j  a  va2 s. c  om
    case "h":
        format.setH(par.getIntValue());
        break;
    default:
        readOther(format, par, fieldName);
    }
}

From source file:com.google.openrtb.json.OpenRtbJsonReader.java

@SuppressWarnings("deprecation")
protected void readBannerField(JsonParser par, Banner.Builder banner, String fieldName) throws IOException {
    switch (fieldName) {
    case "w":
        banner.setW(par.getIntValue());
        break;//from   ww  w . j  a v a 2  s.co m
    case "h":
        banner.setH(par.getIntValue());
        break;
    case "wmax":
        banner.setWmax(par.getIntValue());
        break;
    case "hmax":
        banner.setHmax(par.getIntValue());
        break;
    case "wmin":
        banner.setWmin(par.getIntValue());
        break;
    case "hmin":
        banner.setHmin(par.getIntValue());
        break;
    case "id":
        banner.setId(par.getText());
        break;
    case "btype":
        for (startArray(par); endArray(par); par.nextToken()) {
            BannerAdType value = BannerAdType.valueOf(par.getIntValue());
            if (checkEnum(value)) {
                banner.addBtype(value);
            }
        }
        break;
    case "battr":
        for (startArray(par); endArray(par); par.nextToken()) {
            CreativeAttribute value = CreativeAttribute.valueOf(par.getIntValue());
            if (checkEnum(value)) {
                banner.addBattr(value);
            }
        }
        break;
    case "pos": {
        AdPosition value = AdPosition.valueOf(par.getIntValue());
        if (checkEnum(value)) {
            banner.setPos(value);
        }
    }
        break;
    case "mimes":
        for (startArray(par); endArray(par); par.nextToken()) {
            banner.addMimes(par.getText());
        }
        break;
    case "topframe":
        banner.setTopframe(par.getValueAsBoolean());
        break;
    case "expdir":
        for (startArray(par); endArray(par); par.nextToken()) {
            ExpandableDirection value = ExpandableDirection.valueOf(par.getIntValue());
            if (checkEnum(value)) {
                banner.addExpdir(value);
            }
        }
        break;
    case "api":
        for (startArray(par); endArray(par); par.nextToken()) {
            APIFramework value = APIFramework.valueOf(par.getIntValue());
            if (checkEnum(value)) {
                banner.addApi(value);
            }
        }
        break;
    case "format":
        for (startArray(par); endArray(par); par.nextToken()) {
            banner.addFormat(readFormat(par));
        }
        break;
    default:
        readOther(banner, par, fieldName);
    }
}

From source file:name.gumartinm.weather.information.parser.JPOSForecastParser.java

private void getForecastWeatherDataObjects(final Forecast forecastWeatherData, final JsonParser jParser,
        final String fieldname) throws JsonParseException, IOException {

    if ("cod".equals(fieldname)) {
        final String stringCod = jParser.getText();
        forecastWeatherData.setCod(Long.valueOf(stringCod));
    }//from w w  w .j  ava  2  s  .  c  o m
    if ("message".equals(fieldname)) {
        forecastWeatherData.setMessage(jParser.getDoubleValue());
    }
    if ("city".equals(fieldname)) {
        while (jParser.nextToken() != JsonToken.END_OBJECT) {
            final String namefield = jParser.getCurrentName();
            final JsonToken nextToken = jParser.nextToken(); // move to
            // value
            if ("id".equals(namefield)) {
                forecastWeatherData.getCity().setId(jParser.getLongValue());
            }
            if ("name".equals(namefield)) {
                forecastWeatherData.getCity().setName(jParser.getText());
            }
            if ("coord".equals(namefield)) {
                if (nextToken == JsonToken.START_OBJECT) {
                    this.getForecastWeatherDataObjects(forecastWeatherData, jParser, namefield);
                }
            }
            if ("country".equals(namefield)) {
                forecastWeatherData.getCity().setCountry(jParser.getText());
            }
            if ("population".equals(namefield)) {
                forecastWeatherData.getCity().setPopulation(jParser.getLongValue());
            }
        }
    }
    if ("cnt".equals(fieldname)) {
        forecastWeatherData.setCnt(jParser.getIntValue());
    }
    if ("coord".equals(fieldname)) {
        while (jParser.nextToken() != JsonToken.END_OBJECT) {
            final String namefield = jParser.getCurrentName();
            jParser.nextToken(); // move to value
            if ("lon".equals(namefield)) {
                forecastWeatherData.getCity().getCoord().setLon(jParser.getDoubleValue());
            }
            if ("lat".equals(namefield)) {
                forecastWeatherData.getCity().getCoord().setLat(jParser.getDoubleValue());
            }
        }
    }
    if ("list".equals(fieldname)) {
        final name.gumartinm.weather.information.model.forecastweather.List list = new name.gumartinm.weather.information.model.forecastweather.List();
        list.setTemp(new Temp());
        list.setWeather(new ArrayList<Weather>());
        forecastWeatherData.getList().add(list);
        while (jParser.nextToken() != JsonToken.END_OBJECT) {
            final String namefield = jParser.getCurrentName();
            final JsonToken nextToken = jParser.nextToken(); // move to
            // value
            if ("dt".equals(namefield)) {
                list.setDt(jParser.getLongValue());
            }
            if ("temp".equals(namefield)) {
                if (nextToken == JsonToken.START_OBJECT) {
                    this.getForecastWeatherDataObjects(forecastWeatherData, jParser, namefield);
                }
            }
            if ("pressure".equals(namefield)) {
                list.setPressure(jParser.getDoubleValue());
            }
            if ("humidity".equals(namefield)) {
                list.setHumidity(jParser.getDoubleValue());
            }
            if ("weather".equals(namefield)) {
                if (nextToken == JsonToken.START_ARRAY) {
                    JsonToken tokenNext = jParser.nextToken();
                    while (tokenNext != JsonToken.END_ARRAY) {
                        if (tokenNext == JsonToken.START_OBJECT) {
                            this.getForecastWeatherDataObjects(forecastWeatherData, jParser, namefield);
                        }
                        tokenNext = jParser.nextToken();
                    }
                }
            }
            if ("speed".equals(namefield)) {
                list.setSpeed(jParser.getDoubleValue());
            }
            if ("deg".equals(namefield)) {
                list.setDeg(jParser.getDoubleValue());
            }
            if ("clouds".equals(namefield)) {
                list.setClouds(jParser.getDoubleValue());
            }
            if ("rain".equals(namefield)) {
                list.setRain(jParser.getDoubleValue());
            }
        }
    }
    if ("temp".equals(fieldname)) {
        final name.gumartinm.weather.information.model.forecastweather.List list = forecastWeatherData.getList()
                .get((forecastWeatherData.getList().size() - 1));
        while (jParser.nextToken() != JsonToken.END_OBJECT) {
            final String namefield = jParser.getCurrentName();
            jParser.nextToken(); // move to value
            if ("day".equals(namefield)) {
                list.getTemp().setDay(jParser.getDoubleValue());
            }
            if ("min".equals(namefield)) {
                list.getTemp().setMin(jParser.getDoubleValue());
            }
            if ("max".equals(namefield)) {
                list.getTemp().setMax(jParser.getDoubleValue());
            }
            if ("night".equals(namefield)) {
                list.getTemp().setNight(jParser.getDoubleValue());
            }
            if ("eve".equals(namefield)) {
                list.getTemp().setEve(jParser.getDoubleValue());
            }
            if ("morn".equals(namefield)) {
                list.getTemp().setMorn(jParser.getDoubleValue());
            }
        }
    }
    if ("weather".equals(fieldname)) {
        final name.gumartinm.weather.information.model.forecastweather.List list = forecastWeatherData.getList()
                .get((forecastWeatherData.getList().size() - 1));
        final Weather weather = new Weather();
        while (jParser.nextToken() != JsonToken.END_OBJECT) {
            final String namefield = jParser.getCurrentName();
            jParser.nextToken(); // move to value

            if ("id".equals(namefield)) {
                weather.setId(jParser.getIntValue());
            }
            if ("main".equals(namefield)) {
                weather.setMain(jParser.getText());
            }
            if ("description".equals(namefield)) {
                weather.setDescription(jParser.getText());
            }
            if ("icon".equals(namefield)) {
                weather.setIcon(jParser.getText());
            }
        }
        list.getWeather().add(weather);
    }
}

From source file:io.debezium.document.JacksonReader.java

private Array parseArray(JsonParser parser, boolean nested) throws IOException {
    // Iterate over the values in the array ...
    BasicArray array = new BasicArray();
    JsonToken token = null;/*from  w w w. j av a2s . c  o  m*/
    if (!nested) {
        // We expect the START_ARRAY token ...
        token = parser.nextToken();
        if (!nested && token != JsonToken.START_ARRAY) {
            throw new IOException("Expected data to start with an Array, but was " + token);
        }
    }
    token = parser.nextToken();
    while (token != JsonToken.END_ARRAY) {
        switch (token) {
        case START_OBJECT:
            array.add(parseDocument(parser, true));
            break;
        case START_ARRAY:
            array.add(parseArray(parser, true));
            break;
        case VALUE_STRING:
            array.add(parser.getValueAsString());
            break;
        case VALUE_TRUE:
            array.add(true);
            break;
        case VALUE_FALSE:
            array.add(false);
            break;
        case VALUE_NULL:
            array.addNull();
            break;
        case VALUE_NUMBER_FLOAT:
        case VALUE_NUMBER_INT:
            switch (parser.getNumberType()) {
            case FLOAT:
                array.add(parser.getFloatValue());
                break;
            case DOUBLE:
                array.add(parser.getDoubleValue());
                break;
            case BIG_DECIMAL:
                array.add(parser.getDecimalValue());
                break;
            case INT:
                array.add(parser.getIntValue());
                break;
            case LONG:
                array.add(parser.getLongValue());
                break;
            case BIG_INTEGER:
                array.add(parser.getBigIntegerValue());
                break;
            }
            break;
        case VALUE_EMBEDDED_OBJECT:
            // disregard this, since it's an extension ...
            break;
        case NOT_AVAILABLE:
            throw new JsonParseException("Non-blocking parsers are not supported", parser.getCurrentLocation());
        case FIELD_NAME:
            throw new JsonParseException("Not expecting a FIELD_NAME token", parser.getCurrentLocation());
        case END_ARRAY:
            throw new JsonParseException("Not expecting an END_ARRAY token", parser.getCurrentLocation());
        case END_OBJECT:
            throw new JsonParseException("Not expecting an END_OBJECT token", parser.getCurrentLocation());
        }
        token = parser.nextToken();
    }
    return array;
}

From source file:com.concentricsky.android.khanacademy.data.remote.LibraryUpdaterTask.java

private ContentValues parseObject(JsonParser parser, SQLiteDatabase tempDb, String parentId, int seq)
        throws JsonParseException, IOException {
    // TODO : Grab id of root topic here, and store it in shared prefs, in case it ever
    //        changes. Currently we assume "root" and a change would be catastrophic.
    ContentValues result = new ContentValues();
    ChildArrayResults childResults = null;
    boolean badKind = false;

    result.put("parentTopic_id", parentId);
    result.put("seq", seq);

    while (parser.nextValue() != JsonToken.END_OBJECT) {

        // Allows us to burn through the rest of the object once we discover it's an exercise or something else we don't care about.
        if (badKind)
            continue;

        String fieldName = parser.getCurrentName();

        // Keys present will determine object type.
        if (stringFields.contains(fieldName)) {
            // Use getValueAsString over getText; getText returns "null" while getValueAsString returns null.
            String value = parser.getValueAsString();
            result.put(fieldName, value);

            if ("id".equals(fieldName)) {
                if (childResults != null) {
                    addParentIdToChildren(tempDb, childResults, value);
                }/*  ww w  .ja v a  2 s .co m*/
            }
        } else if (intFields.contains(fieldName)) {
            result.put(fieldName, parser.getIntValue());
        } else if (booleanFields.contains(fieldName)) {
            result.put(fieldName, parser.getBooleanValue());
        } else if ("children".equals(fieldName)) {
            childResults = parseChildArray(parser, tempDb,
                    result.containsKey("id") ? result.getAsString("id") : null);
            result.put("video_count", childResults.videoCount);
            result.put("child_kind", childResults.childKind);
            result.put("thumb_id", childResults.thumbId);
        } else if ("download_urls".equals(fieldName)) {
            parseDownloadUrls(parser, result);
        } else if (null == fieldName) {
            // Noop. Just in case.
        } else {
            JsonToken next = parser.getCurrentToken();
            if (next == JsonToken.START_OBJECT || next == JsonToken.START_ARRAY) {
                // Skip this object or array, leaving us pointing at the matching end_object / end_array token.
                parser.skipChildren();
            }
        }
    }

    // Ignore types we don't need.
    if (badKind) {
        return null;
    }

    // Having parsed this whole object, we can insert it.
    if (result.containsKey("kind")) {
        String kind = result.getAsString("kind");
        if ("Topic".equals(kind)) {
            if (result.containsKey("id")) {
                result.put("_id", result.getAsString("id"));
                result.remove("id");
            }
            if (result.containsKey("child_kind")) {
                String child_kind = result.getAsString("child_kind");
                if ("Topic".equals(child_kind) || "Video".equals(child_kind)) {
                    insertTopic(tempDb, result);
                }
            }
        } else if ("Video".equals(kind)) {
            if (result.containsKey("id")) {
                result.put("video_id", result.getAsString("id"));
                result.remove("id");
            }
            insertTopicVideo(tempDb, result);
            insertVideo(tempDb, result);
        }
    }

    return result;
}

From source file:com.google.openrtb.json.OpenRtbJsonReader.java

@SuppressWarnings("deprecation")
protected void readContentField(JsonParser par, Content.Builder content, String fieldName) throws IOException {
    switch (fieldName) {
    case "id":
        content.setId(par.getText());/* w  ww.  ja va  2 s  .c o m*/
        break;
    case "episode":
        content.setEpisode(par.getIntValue());
        break;
    case "title":
        content.setTitle(par.getText());
        break;
    case "series":
        content.setSeries(par.getText());
        break;
    case "season":
        content.setSeason(par.getText());
        break;
    case "producer":
        content.setProducer(readProducer(par));
        break;
    case "url":
        content.setUrl(par.getText());
        break;
    case "cat":
        for (startArray(par); endArray(par); par.nextToken()) {
            String cat = par.getText();
            if (checkContentCategory(cat)) {
                content.addCat(cat);
            }
        }
        break;
    case "videoquality": {
        ProductionQuality value = ProductionQuality.valueOf(par.getIntValue());
        if (checkEnum(value)) {
            content.setVideoquality(value);
        }
    }
        break;
    case "context":
        try {
            // JsonParseException may be thrown because value is string in
            // 2.2 and earlier, this allows for backwards compatibility.
            ContentContext value = ContentContext.valueOf(par.getIntValue());
            if (checkEnum(value)) {
                content.setContext(value);
            }
        } catch (JsonParseException jpe) {
        }
        break;
    case "contentrating":
        content.setContentrating(par.getText());
        break;
    case "userrating":
        content.setUserrating(par.getText());
        break;
    case "qagmediarating": {
        QAGMediaRating value = QAGMediaRating.valueOf(par.getIntValue());
        if (checkEnum(value)) {
            content.setQagmediarating(value);
        }
    }
        break;
    case "keywords":
        content.setKeywords(readCsvString(par));
        break;
    case "livestream":
        content.setLivestream(par.getValueAsBoolean());
        break;
    case "sourcerelationship":
        content.setSourcerelationship(par.getValueAsBoolean());
        break;
    case "len":
        content.setLen(par.getIntValue());
        break;
    case "language":
        content.setLanguage(par.getText());
        break;
    case "embeddable":
        content.setEmbeddable(par.getValueAsBoolean());
        break;
    case "artist":
        content.setArtist(par.getText());
        break;
    case "genre":
        content.setGenre(par.getText());
        break;
    case "album":
        content.setAlbum(par.getText());
        break;
    case "isrc":
        content.setIsrc(par.getText());
        break;
    case "prodq": {
        ProductionQuality value = ProductionQuality.valueOf(par.getIntValue());
        if (checkEnum(value)) {
            content.setProdq(value);
        }
    }
        break;
    default:
        readOther(content, par, fieldName);
    }
}

From source file:org.commonjava.maven.atlas.graph.jackson.ProjectRelationshipDeserializer.java

@Override
public T deserialize(final JsonParser jp, final DeserializationContext ctx)
        throws JsonProcessingException, IOException {
    Map<String, Object> ast = new HashMap<String, Object>();
    Map<String, JsonLocation> locations = new HashMap<String, JsonLocation>();

    JsonToken token = jp.getCurrentToken();
    String currentField = null;/*  w  w w  . j  a va2s  .com*/
    List<String> currentArry = null;

    Logger logger = LoggerFactory.getLogger(getClass());
    do {
        //                logger.info( "Token: {}", token );
        switch (token) {
        case START_ARRAY: {
            //                        logger.info( "Starting array for field: {}", currentField );
            currentArry = new ArrayList<String>();
            break;
        }
        case END_ARRAY:
            //                        logger.info( "Ending array for field: {}", currentField );
            locations.put(currentField, jp.getCurrentLocation());
            ast.put(currentField, currentArry);
            currentArry = null;
            break;
        case FIELD_NAME:
            currentField = jp.getCurrentName();
            break;
        case VALUE_STRING:
            if (currentArry != null) {
                currentArry.add(jp.getText());
            } else {
                locations.put(currentField, jp.getCurrentLocation());
                ast.put(currentField, jp.getText());
            }
            break;
        case VALUE_NUMBER_INT:
            locations.put(currentField, jp.getCurrentLocation());
            ast.put(currentField, jp.getIntValue());
            break;
        case VALUE_NUMBER_FLOAT:
            locations.put(currentField, jp.getCurrentLocation());
            ast.put(currentField, jp.getFloatValue());
            break;
        case VALUE_TRUE:
            locations.put(currentField, jp.getCurrentLocation());
            ast.put(currentField, Boolean.TRUE);
            break;
        case VALUE_FALSE:
            locations.put(currentField, jp.getCurrentLocation());
            ast.put(currentField, Boolean.FALSE);
            break;
        }

        token = jp.nextToken();
    } while (token != JsonToken.END_OBJECT);

    StringBuilder sb = new StringBuilder();
    sb.append("AST is:");
    for (String field : ast.keySet()) {
        Object value = ast.get(field);
        sb.append("\n  ").append(field).append(" = ");
        if (value == null) {
            sb.append("null");
        } else {
            sb.append(value).append("  (type: ").append(value.getClass().getSimpleName()).append(")");
        }
    }

    logger.debug(sb.toString());

    final RelationshipType type = RelationshipType.getType((String) ast.get(RELATIONSHIP_TYPE));

    final String uri = (String) ast.get(POM_LOCATION_URI);
    URI pomLocation;
    if (uri == null) {
        pomLocation = RelationshipUtils.POM_ROOT_URI;
    } else {
        try {
            pomLocation = new URI(uri);
        } catch (final URISyntaxException e) {
            throw new JsonParseException("Invalid " + POM_LOCATION_URI + ": '" + uri + "': " + e.getMessage(),
                    locations.get(POM_LOCATION_URI), e);
        }
    }

    Collection<URI> sources = new HashSet<URI>();
    List<String> srcs = (List<String>) ast.get(SOURCE_URIS);
    if (srcs != null) {
        for (String u : srcs) {
            try {
                sources.add(new URI(u));
            } catch (URISyntaxException e) {
                throw new JsonParseException("Failed to parse source URI: " + u, locations.get(SOURCE_URIS));
            }
        }
    }

    String decl = (String) ast.get(DECLARING_REF);
    final ProjectVersionRef declaring = SimpleProjectVersionRef.parse(decl);

    String tgt = (String) ast.get(TARGET_REF);
    Integer index = (Integer) ast.get(INDEX);
    if (index == null) {
        index = 0;
    }

    // handle null implicitly by comparing to true.
    boolean managed = Boolean.TRUE.equals(ast.get(MANAGED));
    boolean inherited = Boolean.TRUE.equals(ast.get(INHERITED));
    boolean mixin = Boolean.TRUE.equals(ast.get(MIXIN));
    boolean optional = Boolean.TRUE.equals(ast.get(OPTIONAL));

    ProjectRelationship<?, ?> rel = null;
    switch (type) {
    case DEPENDENCY: {
        final ArtifactRef target = SimpleArtifactRef.parse(tgt);

        String scp = (String) ast.get(SCOPE);
        final DependencyScope scope;
        if (scp == null) {
            scope = DependencyScope.compile;
        } else {
            scope = DependencyScope.getScope(scp);
        }

        rel = new SimpleDependencyRelationship(sources, pomLocation, declaring, target, scope, index, managed,
                inherited, optional);
        break;
    }
    case EXTENSION: {
        final ProjectVersionRef target = SimpleProjectVersionRef.parse(tgt);

        rel = new SimpleExtensionRelationship(sources, pomLocation, declaring, target, index, inherited);
        break;
    }
    case PARENT: {
        final ProjectVersionRef target = SimpleProjectVersionRef.parse(tgt);

        rel = new SimpleParentRelationship(sources, declaring, target);
        break;
    }
    case PLUGIN: {
        final ProjectVersionRef target = SimpleProjectVersionRef.parse(tgt);

        Boolean report = (Boolean) ast.get(REPORTING);
        rel = new SimplePluginRelationship(sources, pomLocation, declaring, target, index, managed,
                Boolean.TRUE.equals(report), inherited);
        break;
    }
    case PLUGIN_DEP: {
        String plug = (String) ast.get(PLUGIN_REF);
        if (plug == null) {
            throw new JsonParseException(
                    "No plugin reference (field: " + PLUGIN_REF + ") found in plugin-dependency relationship!",
                    jp.getCurrentLocation());
        }

        final ProjectRef plugin = SimpleProjectRef.parse(plug);
        final ArtifactRef target = SimpleArtifactRef.parse(tgt);

        rel = new SimplePluginDependencyRelationship(sources, pomLocation, declaring, plugin, target, index,
                managed, inherited);
        break;
    }
    case BOM: {
        final ProjectVersionRef target = SimpleProjectVersionRef.parse(tgt);

        rel = new SimpleBomRelationship(sources, pomLocation, declaring, target, index, inherited, mixin);
        break;
    }
    }

    return (T) rel;
}

From source file:com.google.openrtb.json.OpenRtbJsonReader.java

protected void readGeoField(JsonParser par, Geo.Builder geo, String fieldName) throws IOException {
    switch (fieldName) {
    case "lat":
        geo.setLat(par.getValueAsDouble());
        break;/* w w  w  . ja  v  a2  s  . c o  m*/
    case "lon":
        geo.setLon(par.getValueAsDouble());
        break;
    case "type": {
        LocationType value = LocationType.valueOf(par.getIntValue());
        if (checkEnum(value)) {
            geo.setType(value);
        }
    }
        break;
    case "country":
        geo.setCountry(par.getText());
        break;
    case "region":
        geo.setRegion(par.getText());
        break;
    case "regionfips104":
        geo.setRegionfips104(par.getText());
        break;
    case "metro":
        geo.setMetro(par.getText());
        break;
    case "city":
        geo.setCity(par.getText());
        break;
    case "zip":
        geo.setZip(par.getText());
        break;
    case "utcoffset":
        geo.setUtcoffset(par.getIntValue());
        break;
    case "accuracy":
        geo.setAccuracy(par.getIntValue());
        break;
    case "lastfix":
        geo.setLastfix(par.getIntValue());
        break;
    case "ipservice": {
        LocationService value = LocationService.valueOf(par.getIntValue());
        if (checkEnum(value)) {
            geo.setIpservice(value);
        }
    }
        break;
    default:
        readOther(geo, par, fieldName);
    }
}

From source file:com.google.openrtb.json.OpenRtbJsonReader.java

protected void readUserField(JsonParser par, User.Builder user, String fieldName) throws IOException {
    switch (fieldName) {
    case "id":
        user.setId(par.getText());/*from   w  w w.j a v  a  2  s.  c o  m*/
        break;
    case "buyerid": // Compatibility with broken 2.3 spec; fixed in 2.3.1
    case "buyeruid":
        user.setBuyeruid(par.getText());
        break;
    case "yob":
        user.setYob(par.getIntValue());
        break;
    case "gender": {
        Gender value = Gender.forCode(par.getText());
        if (checkEnum(value)) {
            user.setGender(value.code());
        }
        break;
    }
    case "keywords":
        user.setKeywords(readCsvString(par));
        break;
    case "customdata":
        user.setCustomdata(par.getText());
        break;
    case "geo":
        user.setGeo(readGeo(par));
        break;
    case "data":
        for (startArray(par); endArray(par); par.nextToken()) {
            user.addData(readData(par));
        }
        break;
    default:
        readOther(user, par, fieldName);
    }
}

From source file:com.google.openrtb.json.OpenRtbJsonReader.java

@SuppressWarnings("deprecation")
protected void readVideoField(JsonParser par, Video.Builder video, String fieldName) throws IOException {
    switch (fieldName) {
    case "mimes":
        for (startArray(par); endArray(par); par.nextToken()) {
            video.addMimes(par.getText());
        }//from   w  w w  . java  2s.  c o m
        break;
    case "minduration":
        video.setMinduration(par.getIntValue());
        break;
    case "maxduration":
        video.setMaxduration(par.getIntValue());
        break;
    case "protocol": {
        Protocol value = Protocol.valueOf(par.getIntValue());
        if (checkEnum(value)) {
            video.setProtocol(value);
        }
    }
        break;
    case "protocols":
        for (startArray(par); endArray(par); par.nextToken()) {
            Protocol value = Protocol.valueOf(par.getIntValue());
            if (checkEnum(value)) {
                video.addProtocols(value);
            }
        }
        break;
    case "w":
        video.setW(par.getIntValue());
        break;
    case "h":
        video.setH(par.getIntValue());
        break;
    case "startdelay":
        video.setStartdelay(par.getIntValue());
        break;
    case "linearity": {
        VideoLinearity value = VideoLinearity.valueOf(par.getIntValue());
        if (checkEnum(value)) {
            video.setLinearity(value);
        }
    }
        break;
    case "sequence":
        video.setSequence(par.getIntValue());
        break;
    case "battr":
        for (startArray(par); endArray(par); par.nextToken()) {
            CreativeAttribute value = CreativeAttribute.valueOf(par.getIntValue());
            if (checkEnum(value)) {
                video.addBattr(value);
            }
        }
        break;
    case "maxextended":
        video.setMaxextended(par.getIntValue());
        break;
    case "minbitrate":
        video.setMinbitrate(par.getIntValue());
        break;
    case "maxbitrate":
        video.setMaxbitrate(par.getIntValue());
        break;
    case "boxingallowed":
        video.setBoxingallowed(par.getValueAsBoolean());
        break;
    case "playbackmethod":
        for (startArray(par); endArray(par); par.nextToken()) {
            PlaybackMethod value = PlaybackMethod.valueOf(par.getIntValue());
            if (checkEnum(value)) {
                video.addPlaybackmethod(value);
            }
        }
        break;
    case "delivery":
        for (startArray(par); endArray(par); par.nextToken()) {
            ContentDeliveryMethod value = ContentDeliveryMethod.valueOf(par.getIntValue());
            if (checkEnum(value)) {
                video.addDelivery(value);
            }
        }
        break;
    case "pos": {
        AdPosition value = AdPosition.valueOf(par.getIntValue());
        if (checkEnum(value)) {
            video.setPos(value);
        }
    }
        break;
    case "companionad":
        if (peekStructStart(par) == JsonToken.START_ARRAY) {
            // OpenRTB 2.2+
            for (startArray(par); endArray(par); par.nextToken()) {
                video.addCompanionad(readBanner(par));
            }
        } else { // START_OBJECT
            // OpenRTB 2.1-
            video.setCompanionad21(readCompanionAd(par));
        }
        break;
    case "api":
        for (startArray(par); endArray(par); par.nextToken()) {
            APIFramework value = APIFramework.valueOf(par.getIntValue());
            if (checkEnum(value)) {
                video.addApi(value);
            }
        }
        break;
    case "companiontype":
        for (startArray(par); endArray(par); par.nextToken()) {
            CompanionType value = CompanionType.valueOf(par.getIntValue());
            if (checkEnum(value)) {
                video.addCompaniontype(value);
            }
        }
        break;
    case "skip":
        video.setSkip(par.getValueAsBoolean());
        break;
    case "skipmin":
        video.setSkipmin(par.getIntValue());
        break;
    case "skipafter":
        video.setSkipafter(par.getIntValue());
        break;
    default:
        readOther(video, par, fieldName);
    }
}