Java 类org.jsonschema2pojo.rules.FormatRule 实例源码
项目:GitHub
文件:Jackson2Annotator.java
@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);
}
}
项目:GitHub
文件:Jackson2Annotator.java
@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);
}
}
项目:GitHub
文件:Jackson2Annotator.java
@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);
}
}
项目:GitHub
文件:CustomRuleFactoryIT.java
@Override
public Rule<JType, JType> getFormatRule() {
return new FormatRule(this) {
@Override
public JType apply(String nodeName, JsonNode node, JType baseType, Schema schema) {
if (node.asText().equals("date")) {
return baseType.owner().ref(LocalDate.class);
}
return super.apply(nodeName, node, baseType, schema);
}
};
}