Example usage for com.google.gson.stream JsonReader nextNull

List of usage examples for com.google.gson.stream JsonReader nextNull

Introduction

In this page you can find the example usage for com.google.gson.stream JsonReader nextNull.

Prototype

public void nextNull() throws IOException 

Source Link

Document

Consumes the next token from the JSON stream and asserts that it is a literal null.

Usage

From source file:com.sencko.basketball.stats.advanced.adapters.ActionAdapter.java

@Override
public Action read(JsonReader reader) throws IOException {
    switch (reader.peek()) {
    case NULL: {//from  ww w .j av a 2  s .c om
        reader.nextNull();
        return null;
    }
    case STRING: {
        String stringValue = reader.nextString().trim();

        if (stringValue.length() == 0) {
            return null;
        } else {
            Matcher matcher = fullAction.matcher(stringValue);
            if (matcher.matches()) {
                Actor actor = new Actor();
                actor.setName(matcher.group(2));
                actor.setNumber(Integer.parseInt(matcher.group(1)));
                Action action = new Action();
                action.setActor(actor);
                String desc = matcher.group(3);
                action.setDescription(desc);
                return action;
            } else {
                Action action = new Action();
                action.setDescription(stringValue);
                return action;
            }
        }
    }
    }
    throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}

From source file:com.sencko.basketball.stats.advanced.adapters.IntegerAdapter.java

@Override
public Integer read(JsonReader reader) throws IOException {
    switch (reader.peek()) {
    case NULL: {// ww w  . j  av  a  2 s. c o m
        reader.nextNull();
        break;
    }
    case NUMBER: {
        return reader.nextInt();
    }
    case STRING: {
        String stringValue = reader.nextString().trim();
        if (stringValue.length() == 0) {
            return null;
        } else {
            Matcher matcher = pattern.matcher(stringValue);
            if (matcher.matches()) {
                Integer ret = Integer.parseInt(matcher.group(1)) * 60 + Integer.parseInt(matcher.group(2));
                //  System.out.println(stringValue +" \t" + ret);
                return ret;
            }
        }
        return Integer.parseInt(stringValue);
    }
    }
    throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}

From source file:com.sencko.basketball.stats.advanced.adapters.StringAdapter.java

@Override
public String read(JsonReader reader) throws IOException {
    switch (reader.peek()) {
    case NULL: {//w ww.  j  ava  2  s  .  c  om
        reader.nextNull();
        return null;
    }
    case NUMBER: {
        return String.valueOf(reader.nextInt());
    }
    case STRING: {
        String stringValue = reader.nextString().trim();
        if (stringValue.length() == 0) {
            return null;
        } else {
            //    System.out.println(stringValue);
            return stringValue;
        }
    }
    }
    throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}

From source file:com.singhinderjeet.gracenoteapi.json.UtcDateTypeAdapter.java

License:Apache License

@SuppressWarnings("deprecation")
@Override//from  ww  w  .  j a  v  a2  s .  c  om
public Date read(JsonReader in) throws IOException {
    switch (in.peek()) {
    case NULL:
        in.nextNull();
        return null;
    default:
        String date = in.nextString();
        // Instead of using iso8601Format.parse(value), we use Jackson's date parsing
        // This is because Android doesn't support XXX because it is JDK 1.6
        try {
            return parse(date, new ParsePosition(0));
        } catch (ParseException e) {
            try {
                return new Date(date);
            } catch (IllegalArgumentException iae) {
                try {
                    return dateFormat.get().parse(date);
                } catch (ParseException pe) {
                    throw new JsonParseException(pe);
                }
            }
        }
    }
}

From source file:com.smartling.api.sdk.util.DateTypeAdapter.java

License:Apache License

public Date read(JsonReader reader) throws IOException {
    if (reader.peek() == JsonToken.NULL) {
        reader.nextNull();
        return null;
    }//from w w w.ja v a  2 s .  c om

    String value = reader.nextString();
    try {
        return DateFormatter.parse(value);
    } catch (ParseException e) {
        throw new IOException(e);
    }
}

From source file:com.squareup.wire.ByteStringTypeAdapter.java

License:Apache License

@Override
public ByteString read(JsonReader in) throws IOException {
    if (in.peek() == JsonToken.NULL) {
        in.nextNull();
        return null;
    }//  w  w w .  j  a  v a 2  s .  c  om
    return ByteString.decodeBase64(in.nextString());
}

From source file:com.squareup.wire.MessageTypeAdapter.java

License:Apache License

@SuppressWarnings("unchecked")
@Override//  w w w . j ava2 s. c  o m
public M read(JsonReader in) throws IOException {
    if (in.peek() == JsonToken.NULL) {
        in.nextNull();
        return null;
    }

    MessageAdapter<M> messageAdapter = wire.messageAdapter(type);
    Message.Builder<M> builder = messageAdapter.newBuilder();
    in.beginObject();

    while (in.peek() == JsonToken.NAME) {
        String name = in.nextName();
        MessageAdapter.FieldInfo fieldInfo = messageAdapter.getField(name);
        if (fieldInfo == null) {
            Extension<?, ?> extension = messageAdapter.getExtension(name);
            if (extension == null) {
                parseUnknownField(in, builder, Integer.parseInt(name));
            } else {
                Type valueType = getType(extension);
                Object value = parseValue(extension.getLabel(), valueType, parse(in));
                ((ExtendableMessage.ExtendableBuilder) builder).setExtension(extension, value);
            }
        } else {
            Type valueType = getType(fieldInfo);
            Object value = parseValue(fieldInfo.label, valueType, parse(in));
            // Use the builder setter method to ensure proper 'oneof' behavior.
            messageAdapter.setBuilderMethod(builder, fieldInfo, value);
        }
    }

    in.endObject();
    return builder.build();
}

From source file:com.vaushell.treetasker.net.GsonDateAdapter.java

License:Open Source License

@Override
public Date read(JsonReader reader) throws IOException {
    if (reader.peek() == JsonToken.NULL) {
        reader.nextNull();
        return null;
    }//  w ww  .j a  v  a2 s.c om

    return new Date(reader.nextLong());
}

From source file:com.vimeo.stag.generated.ParseUtils.java

public static Channel parseChannel(Gson gson, JsonReader reader) throws IOException {
    if (reader.peek() == com.google.gson.stream.JsonToken.NULL) {
        reader.nextNull();
        return null;
    }/* w w  w .  j  av a  2s  .  co  m*/
    if (reader.peek() != com.google.gson.stream.JsonToken.BEGIN_OBJECT) {
        reader.skipValue();
        return null;
    }
    reader.beginObject();

    com.vimeo.networking.model.Channel object = new com.vimeo.networking.model.Channel();
    while (reader.hasNext()) {
        String name = reader.nextName();
        com.google.gson.stream.JsonToken jsonToken = reader.peek();
        if (jsonToken == com.google.gson.stream.JsonToken.NULL) {
            reader.skipValue();
            continue;
        }
        switch (name) {
        case "modified_time":
            try {
                object.modifiedTime = Stag.readFromAdapter(gson, java.util.Date.class, reader);
            } catch (Exception exception) {
                throw new IOException("Error parsing Channel.modifiedTime JSON!", exception);
            }
            break;
        case "uri":
            if (jsonToken == com.google.gson.stream.JsonToken.STRING) {
                object.uri = reader.nextString();
            } else {
                reader.skipValue();
            }
            break;
        case "metadata":
            try {
                object.metadata = ParseUtils.parseMetadata(gson, reader);
            } catch (Exception exception) {
                throw new IOException("Error parsing Channel.metadata JSON!", exception);
            }
            break;
        case "created_time":
            try {
                object.createdTime = Stag.readFromAdapter(gson, java.util.Date.class, reader);
            } catch (Exception exception) {
                throw new IOException("Error parsing Channel.createdTime JSON!", exception);
            }
            break;
        case "user":
            try {
                object.user = ParseUtils.parseUser(gson, reader);
            } catch (Exception exception) {
                throw new IOException("Error parsing Channel.user JSON!", exception);
            }
            break;
        case "header":
            try {
                object.header = ParseUtils.parsePictureCollection(gson, reader);
            } catch (Exception exception) {
                throw new IOException("Error parsing Channel.header JSON!", exception);
            }
            break;
        case "link":
            if (jsonToken == com.google.gson.stream.JsonToken.STRING) {
                object.link = reader.nextString();
            } else {
                reader.skipValue();
            }
            break;
        case "privacy":
            try {
                object.privacy = ParseUtils.parsePrivacy(gson, reader);
            } catch (Exception exception) {
                throw new IOException("Error parsing Channel.privacy JSON!", exception);
            }
            break;
        case "name":
            if (jsonToken == com.google.gson.stream.JsonToken.STRING) {
                object.name = reader.nextString();
            } else {
                reader.skipValue();
            }
            break;
        case "pictures":
            try {
                object.pictures = ParseUtils.parsePictureCollection(gson, reader);
            } catch (Exception exception) {
                throw new IOException("Error parsing Channel.pictures JSON!", exception);
            }
            break;
        case "description":
            if (jsonToken == com.google.gson.stream.JsonToken.STRING) {
                object.description = reader.nextString();
            } else {
                reader.skipValue();
            }
            break;
        default:
            reader.skipValue();
            break;
        }
    }

    reader.endObject();
    return object;
}

From source file:com.vimeo.stag.generated.ParseUtils.java

public static StatsCollection parseStatsCollection(Gson gson, JsonReader reader) throws IOException {
    if (reader.peek() == com.google.gson.stream.JsonToken.NULL) {
        reader.nextNull();
        return null;
    }/*from   w w  w. jav  a  2s.co  m*/
    if (reader.peek() != com.google.gson.stream.JsonToken.BEGIN_OBJECT) {
        reader.skipValue();
        return null;
    }
    reader.beginObject();

    com.vimeo.networking.model.StatsCollection object = new com.vimeo.networking.model.StatsCollection();
    while (reader.hasNext()) {
        String name = reader.nextName();
        com.google.gson.stream.JsonToken jsonToken = reader.peek();
        if (jsonToken == com.google.gson.stream.JsonToken.NULL) {
            reader.skipValue();
            continue;
        }
        switch (name) {
        case "plays":
            try {
                object.plays = Stag.readFromAdapter(gson, java.lang.Integer.class, reader);
            } catch (Exception exception) {
                throw new IOException("Error parsing StatsCollection.plays JSON!", exception);
            }
            break;
        default:
            reader.skipValue();
            break;
        }
    }

    reader.endObject();
    return object;
}