@Override public void dateField(JFieldVar field, JsonNode node) { String pattern = null; if (node.has("customDatePattern")) { pattern = node.get("customDatePattern").asText(); } else if (node.has("customPattern")) { pattern = node.get("customPattern").asText(); } else if (isNotEmpty(getGenerationConfig().getCustomDatePattern())) { pattern = getGenerationConfig().getCustomDatePattern(); } else if (getGenerationConfig().isFormatDates()) { pattern = FormatRule.ISO_8601_DATE_FORMAT; } if (pattern != null && !field.type().fullName().equals("java.lang.String")) { field.annotate(JsonFormat.class).param("shape", JsonFormat.Shape.STRING).param("pattern", pattern); } }
@Override public void timeField(JFieldVar field, JsonNode node) { String pattern = null; if (node.has("customTimePattern")) { pattern = node.get("customTimePattern").asText(); } else if (node.has("customPattern")) { pattern = node.get("customPattern").asText(); } else if (isNotEmpty(getGenerationConfig().getCustomTimePattern())) { pattern = getGenerationConfig().getCustomTimePattern(); } else if (getGenerationConfig().isFormatDates()) { pattern = FormatRule.ISO_8601_TIME_FORMAT; } if (pattern != null && !field.type().fullName().equals("java.lang.String")) { field.annotate(JsonFormat.class).param("shape", JsonFormat.Shape.STRING).param("pattern", pattern); } }
@Override public void dateTimeField(JFieldVar field, JsonNode node) { String timezone = node.has("customTimezone") ? node.get("customTimezone").asText() : "UTC"; String pattern = null; if (node.has("customDateTimePattern")) { pattern = node.get("customDateTimePattern").asText(); } else if (node.has("customPattern")) { pattern = node.get("customPattern").asText(); } else if (isNotEmpty(getGenerationConfig().getCustomDateTimePattern())) { pattern = getGenerationConfig().getCustomDateTimePattern(); } else if (getGenerationConfig().isFormatDateTimes()) { pattern = FormatRule.ISO_8601_DATETIME_FORMAT; } if (pattern != null && !field.type().fullName().equals("java.lang.String")) { field.annotate(JsonFormat.class).param("shape", JsonFormat.Shape.STRING).param("pattern", pattern).param("timezone", timezone); } }
@Test public void testConfigOverrides() throws Exception { ObjectMapper mapper = newMapper(); mapper.configOverride(LocalDate.class) .setFormat(JsonFormat.Value.forPattern("yyyy_MM_dd")); LocalDate date = LocalDate.of(2005, Month.NOVEMBER, 5); VanillaWrapper input = new VanillaWrapper(date); final String EXP_DATE = "\"2005_11_05\""; String json = mapper.writeValueAsString(input); assertEquals("{\"value\":"+EXP_DATE+"}", json); assertEquals(EXP_DATE, mapper.writeValueAsString(date)); // and read back, too VanillaWrapper output = mapper.readValue(json, VanillaWrapper.class); assertEquals(input.value, output.value); LocalDate date2 = mapper.readValue(EXP_DATE, LocalDate.class); assertEquals(date, date2); }
public AggregatedSocialStoreLatestApps(@JsonProperty("uid") String cardId, @JsonProperty("stores") SocialStoreLatestApps.Stores stores, @JsonFormat(pattern = "yyyy-MM-dd", timezone = "UTC") @JsonProperty("date") Date date, @JsonProperty("apps") List<App> apps, @JsonProperty("ab") Ab ab, @JsonProperty("cards_shared") List<MinimalCard> minimalCardList, @JsonProperty("sharers") List<UserSharerTimeline> sharers, @JsonProperty("urls") Urls urls) { this.cardId = cardId; this.ownerStore = stores.getUser(); this.sharedStore = stores.getCard(); this.date = date; this.apps = apps; this.ab = ab; this.minimalCardList = minimalCardList; this.sharers = sharers; this.urls = urls; }
@JsonCreator public SocialRecommendation(@JsonProperty("uid") String cardId, @JsonProperty("apps") List<App> apps, @JsonProperty("ab") Ab ab, @JsonProperty("user_sharer") Comment.User userSharer, @JsonProperty("my") My my, @JsonProperty("likes") List<UserTimeline> likes, @JsonProperty("comments") List<CardComment> comments, @JsonProperty("content") String content, @JsonProperty("user") Comment.User user, @JsonFormat(pattern = "yyyy-MM-dd", timezone = "UTC") @JsonProperty("date") Date date, @JsonProperty("stats") SocialCardStats stats, @JsonProperty("store") Store store, @JsonProperty("urls") Urls urls) { super(likes, comments, my, urls); this.ab = ab; this.content = content; this.date = date; this.cardId = cardId; this.user = user; this.userSharer = userSharer; this.stats = stats; this.store = store; if (!apps.isEmpty()) { this.app = apps.get(0); } else { this.app = null; } }
@JsonCreator public AggregatedSocialVideo(@JsonProperty("uid") String cardId, @JsonProperty("title") String title, @JsonProperty("thumbnail") String thumbnailUrl, @JsonProperty("publisher") Publisher publisher, @JsonProperty("url") String url, @JsonProperty("store") Store store, @JsonFormat(pattern = "yyyy-MM-dd", timezone = "UTC") @JsonProperty("date") Date date, @JsonProperty("apps") List<App> apps, @JsonProperty("ab") Ab ab, @JsonProperty("cards_shared") List<MinimalCard> minimalCardList, @JsonProperty("sharers") List<UserSharerTimeline> sharers, @JsonProperty("urls") Urls urls) { this.cardId = cardId; this.title = title; this.thumbnailUrl = thumbnailUrl; this.publisher = publisher; this.url = url; this.store = store; this.date = date; this.apps = apps; this.ab = ab; this.minimalCards = minimalCardList; this.sharers = sharers; this.urls = urls; }
@JsonCreator public SocialInstall(@JsonProperty("uid") String cardId, @JsonProperty("apps") List<App> apps, @JsonProperty("ab") Ab ab, @JsonProperty("user_sharer") Comment.User userSharer, @JsonProperty("user") Comment.User user, @JsonProperty("likes") List<UserTimeline> likes, @JsonProperty("comments") List<CardComment> comments, @JsonProperty("stats") SocialCardStats stats, @JsonProperty("my") My my, @JsonFormat(pattern = "yyyy-MM-dd", timezone = "UTC") @JsonProperty("date") Date date, @JsonProperty("store") Store store, @JsonProperty("urls") Urls urls) { super(likes, comments, my, urls); this.ab = ab; this.date = date; this.cardId = cardId; this.user = user; this.userSharer = userSharer; this.stats = stats; this.store = store; if (!apps.isEmpty()) { this.app = apps.get(0); } else { this.app = null; } }
public AggregatedSocialInstall(@JsonProperty("uid") String cardId, @JsonProperty("apps") List<App> apps, @JsonProperty("ab") Ab ab, @JsonFormat(pattern = "yyyy-MM-dd", timezone = "UTC") @JsonProperty("date") Date date, @JsonProperty("cards_shared") List<MinimalCard> minimalCardList, @JsonProperty("sharers") List<UserSharerTimeline> sharers, @JsonProperty("urls") Urls urls) { this.minimalCardList = minimalCardList; this.sharers = sharers; this.cardId = cardId; this.ab = ab; this.date = date; this.urls = urls; if (!apps.isEmpty()) { this.app = apps.get(0); } else { this.app = null; } }
@JsonCreator public SocialStoreLatestApps(@JsonProperty("uid") String cardId, @JsonProperty("stores") Stores stores, @JsonProperty("user") Comment.User user, @JsonProperty("stats") SocialCardStats stats, @JsonProperty("likes") List<UserTimeline> likes, @JsonProperty("comments") List<CardComment> comments, @JsonProperty("my") My my, @JsonFormat(pattern = "yyyy-MM-dd", timezone = "UTC") @JsonProperty("date") Date date, @JsonProperty("user_sharer") Comment.User userSharer, @JsonProperty("apps") List<App> apps, @JsonProperty("ab") Ab ab, @JsonProperty("urls") Urls urls) { super(likes, comments, my, urls); this.user = user; this.date = date; this.ownerStore = stores.getUser(); this.sharedStore = stores.getCard(); this.cardId = cardId; this.userSharer = userSharer; this.apps = apps; this.ab = ab; this.stats = stats; }
public AggregatedSocialArticle(@JsonProperty("uid") String cardId, @JsonProperty("title") String title, @JsonProperty("thumbnail") String thumbnailUrl, @JsonProperty("publisher") Publisher publisher, @JsonProperty("store") Store store, @JsonProperty("url") String url, @JsonFormat(pattern = "yyyy-MM-dd", timezone = "UTC") @JsonProperty("date") Date date, @JsonProperty("apps") List<App> apps, @JsonProperty("ab") Ab ab, @JsonProperty("cards_shared") List<MinimalCard> minimalCardList, @JsonProperty("sharers") List<UserSharerTimeline> sharers, @JsonProperty("urls") Urls urls) { this.minimalCardList = minimalCardList; this.sharers = sharers; this.publisher = publisher; this.cardId = cardId; this.title = title; this.thumbnailUrl = thumbnailUrl; this.url = url; this.date = date; this.apps = apps; this.ab = ab; this.urls = urls; }
@Override public JsonDeserializer<?> createContextual(DeserializationContext ctxt, BeanProperty property) throws JsonMappingException { JsonFormat.Value format = findFormatOverrides(ctxt, property, handledType()); if (format != null) { if (format.hasPattern()) { final String pattern = format.getPattern(); final Locale locale = format.hasLocale() ? format.getLocale() : ctxt.getLocale(); DateTimeFormatter df; if (locale == null) { df = DateTimeFormatter.ofPattern(pattern); } else { df = DateTimeFormatter.ofPattern(pattern, locale); } //Issue #69: For instant serializers/deserializers we need to configure the formatter with //a time zone picked up from JsonFormat annotation, otherwise serialization might not work if (format.hasTimeZone()) { df = df.withZone(format.getTimeZone().toZoneId()); } return withDateFormat(df); } // any use for TimeZone? } return this; }
@JsonCreator public Tick(@JsonProperty("T") @JsonFormat (shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd'T'HH:mm:ss[.SSS][Z]", timezone="UTC") ZonedDateTime startTime, @JsonProperty("O") double open, @JsonProperty("H") double high, @JsonProperty("L") double low, @JsonProperty("C") double close, @JsonProperty("V")double volume, @JsonProperty("BV") double baseVolume){ this.startTime = startTime; this.open = open; this.high = high; this.low = low; this.close = close; this.volume = volume; this.baseVolume = baseVolume; }
public ObjectSample( @JsonProperty("foo") final String foo, @JsonProperty("bar") final int bar, @JsonProperty("baz") @JsonFormat(pattern = "yyyy-MM-dd") final LocalDate baz, @JsonProperty("qux") final List<ObjectSample> qux) { this.foo = Objects.requireNonNull(foo); this.bar = bar; this.baz = Objects.requireNonNull(baz); this.qux = Objects.requireNonNull(qux); }
@Override public JsonDeserializer<?> createContextual(DeserializationContext ctxt, BeanProperty property) throws JsonMappingException { if (property != null) { JsonFormat.Value format = ctxt.getAnnotationIntrospector().findFormat(property.getMember()); if (format != null && Objects.equals(TransactionSerializer.BASE64_FORMAT, format.getPattern())) { return new Base64TransactionDeserializer(formatter); } } return new HexTransactionDeserializer(formatter); }
@Override public JsonSerializer<?> createContextual(SerializerProvider prov, BeanProperty property) throws JsonMappingException { if (property != null) { JsonFormat.Value format = prov.getAnnotationIntrospector().findFormat(property.getMember()); if (format != null && Objects.equals(BASE64_FORMAT, format.getPattern())) { return new Base64TransactionSerializer(); } } return new HexTransactionSerializer(); }
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") public Date getOldLoginDate() { if (oldLoginDate == null) { return loginDate; } return oldLoginDate; }
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") public Date getTaskCreateDate() { if (task != null){ return task.getCreateTime(); } return null; }
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") public Date getTaskEndDate() { if (histTask != null){ return histTask.getEndTime(); } return null; }
@JsonCreator PopularApp(@JsonProperty("uid") String cardId, @JsonProperty("ab") Ab ab, @JsonProperty("apps") List<App> popularApps, @JsonFormat(pattern = "yyyy-MM-dd", timezone = "UTC") @JsonProperty("date") Date date, @JsonProperty("users") List<Comment.User> users, @JsonProperty("urls") Urls urls) { this.cardId = cardId; this.ab = ab; this.users = users; this.date = date; this.urls = urls; if (popularApps.size() > 0) { this.popularApplication = popularApps.get(0); } }
@JsonCreator public SocialVideo(@JsonProperty("uid") String cardId, @JsonProperty("title") String title, @JsonProperty("thumbnail") String thumbnailUrl, @JsonProperty("publisher") Publisher publisher, @JsonProperty("content") String content, @JsonProperty("user") Comment.User user, @JsonProperty("user_sharer") Comment.User userSharer, @JsonProperty("my") My my, @JsonProperty("stats") SocialCardStats stats, @JsonProperty("url") String url, @JsonProperty("store") Store store, @JsonProperty("likes") List<UserTimeline> likes, @JsonProperty("comments") List<CardComment> comments, @JsonFormat(pattern = "yyyy-MM-dd", timezone = "UTC") @JsonProperty("date") Date date, @JsonProperty("apps") List<App> apps, @JsonProperty("ab") Ab ab, @JsonProperty("urls") Urls urls) { super(likes, comments, my, urls); this.publisher = publisher; this.content = content; this.store = store; this.user = user; this.stats = stats; this.userSharer = userSharer; this.cardId = cardId; this.title = title; this.thumbnailUrl = thumbnailUrl; this.url = url; this.date = date; this.apps = apps; this.ab = ab; }
@JsonCreator public Feature(@JsonProperty("uid") String cardId, @JsonProperty("title") String title, @JsonProperty("thumbnail") String thumbnailUrl, @JsonProperty("url") String url, @JsonFormat(pattern = "yyyy-MM-dd", timezone = "UTC") @JsonProperty("date") Date date, @JsonProperty("apps") List<App> apps, @JsonProperty("ab") Ab ab, @JsonProperty("urls") Urls urls) { this.cardId = cardId; this.title = title; this.thumbnailUrl = thumbnailUrl; this.url = url; this.date = date; this.apps = apps; this.ab = ab; this.urls = urls; }
@JsonCreator public Video(@JsonProperty("uid") String cardId, @JsonProperty("title") String title, @JsonProperty("thumbnail") String thumbnailUrl, @JsonProperty("publisher") Publisher publisher, @JsonProperty("url") String url, @JsonFormat(pattern = "yyyy-MM-dd", timezone = "UTC") @JsonProperty("date") Date date, @JsonProperty("apps") List<App> apps, @JsonProperty("ab") Ab ab, @JsonProperty("urls") Urls urls) { super(cardId, title, thumbnailUrl, url, date, apps, ab, urls); this.publisher = publisher; }
public MinimalCard(@JsonProperty("card_id") String cardId, @JsonFormat(pattern = "yyyy-MM-dd", timezone = "UTC") @JsonProperty("date") Date date, @JsonProperty("owner") UserSharerTimeline owner, @JsonProperty("sharers") List<UserSharerTimeline> sharers, @JsonProperty("stats") SocialCardStats stats, @JsonProperty("my") My my, @JsonProperty("likes") List<UserTimeline> usersLikes) { this.usersLikes = usersLikes; this.cardId = cardId; this.my = my; this.date = date; this.owner = owner; this.sharers = sharers; this.stats = stats; }
@JsonCreator public SocialArticle(@JsonProperty("uid") String cardId, @JsonProperty("title") String title, @JsonProperty("thumbnail") String thumbnailUrl, @JsonProperty("publisher") Publisher publisher, @JsonProperty("user_sharer") Comment.User userSharer, @JsonProperty("user") Comment.User user, @JsonProperty("stats") SocialCardStats stats, @JsonProperty("store") Store store, @JsonProperty("my") My my, @JsonProperty("url") String url, @JsonProperty("likes") List<UserTimeline> likes, @JsonProperty("comments") List<CardComment> comments, @JsonProperty("content") String content, @JsonFormat(pattern = "yyyy-MM-dd", timezone = "UTC") @JsonProperty("date") Date date, @JsonProperty("apps") List<App> apps, @JsonProperty("ab") Ab ab, @JsonProperty("urls") Urls urls) { super(likes, comments, my, urls); this.stats = stats; this.publisher = publisher; this.cardId = cardId; this.title = title; this.thumbnailUrl = thumbnailUrl; this.url = url; this.content = content; this.date = date; this.apps = apps; this.ab = ab; this.user = user; this.userSharer = userSharer; this.store = store; }
@Override protected JSR310FormattedSerializerBase<?> withFormat( Boolean useTimestamp, DateTimeFormatter formatter, JsonFormat.Shape shape) { return new ZonedDateTimeSerializer(this, useTimestamp, formatter, _writeZoneId); }
protected JSR310FormattedSerializerBase(JSR310FormattedSerializerBase<?> base, Boolean useTimestamp, DateTimeFormatter dtf, JsonFormat.Shape shape) { super(base.handledType()); _useTimestamp = useTimestamp; _formatter = dtf; _shape = shape; }
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @NotNull(message="time_不能为空") public Date getTime() { return time; }
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") public Date getLockExpTime() { return lockExpTime; }
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") public Date getDuedate() { return duedate; }
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") public Date getStartTime() { return startTime; }
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") public Date getEndTime() { return endTime; }
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") public Date getTime() { return time; }
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @NotNull(message="created_不能为空") public Date getCreated() { return created; }
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") public Date getLockTime() { return lockTime; }
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") public Date getCreateTime() { return createTime; }
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") public Date getDueDate() { return dueDate; }
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @NotNull(message="start_time_不能为空") public Date getStartTime() { return startTime; }