Refine search
@Override public T read(JsonReader reader) throws IOException { if (reader.peek() == JsonToken.NULL) { reader.nextNull(); return null; } else { String value = reader.nextString(); return lowercaseToConstant.get(normalize(value)); } } };
/** Read a time from the Places API and convert to a {@link Instant} */ @Override public Instant read(JsonReader reader) throws IOException { if (reader.peek() == JsonToken.NULL) { reader.nextNull(); return null; } if (reader.peek() == JsonToken.NUMBER) { // Number is the number of seconds since Epoch. return Instant.ofEpochMilli(reader.nextLong() * 1000L); } throw new UnsupportedOperationException("Unsupported format"); }
public T read(JsonReader reader) throws IOException { if (reader.peek() == JsonToken.NULL) { reader.nextNull(); return null; } else { return lowercaseToConstant.get(reader.nextString()); } } };
@Override public PriceLevel read(JsonReader reader) throws IOException { if (reader.peek() == JsonToken.NULL) { reader.nextNull(); return null; } if (reader.peek() == JsonToken.NUMBER) { int priceLevel = reader.nextInt(); switch (priceLevel) { case 0: return PriceLevel.FREE; case 1: return PriceLevel.INEXPENSIVE; case 2: return PriceLevel.MODERATE; case 3: return PriceLevel.EXPENSIVE; case 4: return PriceLevel.VERY_EXPENSIVE; } } return PriceLevel.UNKNOWN; }
@Override public T read(JsonReader reader) throws IOException { if (reader.peek() == JsonToken.NULL) { reader.nextNull(); return null; } else { String nextString = reader.nextString(); try { return constructor.newInstance(nextString); } catch (InstantiationException | IllegalAccessException | InvocationTargetException e) { logger.error("Failed to instantiate uri of type {} from value {}", rawType, nextString, e); return null; } } } };
@Override public DayOfWeek read(JsonReader reader) throws IOException { if (reader.peek() == JsonToken.NULL) { reader.nextNull(); return null; } if (reader.peek() == JsonToken.NUMBER) { int day = reader.nextInt(); switch (day) { case 0: return DayOfWeek.SUNDAY; case 1: return DayOfWeek.MONDAY; case 2: return DayOfWeek.TUESDAY; case 3: return DayOfWeek.WEDNESDAY; case 4: return DayOfWeek.THURSDAY; case 5: return DayOfWeek.FRIDAY; case 6: return DayOfWeek.SATURDAY; } } return DayOfWeek.UNKNOWN; }
@Override public Path read(JsonReader in) throws IOException { if (in.peek() == JsonToken.NULL) { in.nextNull(); return null; } String result = in.nextString(); if ("".equals(result)) { return null; } return Paths.get(result); } }
@SuppressWarnings("unchecked") @Override public @Nullable M read(JsonReader in) throws IOException { if (in.peek() == JsonToken.NULL) { in.nextNull(); return null; } TypeAdapter<JsonElement> elementAdapter = gson.getAdapter(JsonElement.class); B builder = messageAdapter.newBuilder(); in.beginObject(); while (in.peek() != JsonToken.END_OBJECT) { String name = in.nextName(); FieldBinding<M, B> fieldBinding = fieldBindings.get(name); if (fieldBinding == null) { in.skipValue(); } else { JsonElement element = elementAdapter.read(in); Object value = parseValue(fieldBinding, element); fieldBinding.set(builder, value); } } in.endObject(); return builder.build(); }
@Override public @Nullable ByteString read(JsonReader in) throws IOException { if (in.peek() == JsonToken.NULL) { in.nextNull(); return null; } return ByteString.decodeBase64(in.nextString()); } }
@Override public Instant read(JsonReader in) throws IOException { if (in.peek() == JsonToken.NULL) { in.nextNull(); return null; } String result = in.nextString(); if ("".equals(result)) { return null; } return Instant.ofEpochMilli(Long.parseLong(result)); } }
/** Read a time from the Places API and convert to a {@link LocalTime} */ @Override public LocalTime read(JsonReader reader) throws IOException { if (reader.peek() == JsonToken.NULL) { reader.nextNull(); return null; } if (reader.peek() == JsonToken.STRING) { DateTimeFormatter dtf = DateTimeFormatter.ofPattern("HHmm"); return LocalTime.parse(reader.nextString(), dtf); } throw new UnsupportedOperationException("Unsupported format"); }
@Override public E read(JsonReader reader) throws IOException { if (reader.peek() == JsonToken.NULL) { reader.nextNull(); return null; } String value = reader.nextString(); try { return Enum.valueOf(clazz, value.toUpperCase(Locale.ENGLISH)); } catch (IllegalArgumentException iae) { LOG.warn("Unknown type for enum {}: '{}'", clazz.getName(), value); return unknownValue; } } }
@Override public Asset read(JsonReader in) throws IOException { if (in.peek() == JsonToken.NULL) { in.nextNull(); return null; } else { String value = in.nextString(); Optional<? extends Asset> asset = assetManager.getAsset(value, assetClass); if (asset.isPresent()) { return asset.get(); } } return null; } };
@Override public Date read(JsonReader in) throws IOException { if (in.peek() == JsonToken.NULL) { in.nextNull(); return null; } String result = in.nextString(); if ("".equals(result)) { return null; } return DateUtil.getDate(result); } }