@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); } }; }
@Override public Rule<JDefinedClass, JDefinedClass> getPropertiesRule() { return new PropertiesRule(this){ @Override public JDefinedClass apply(String nodeName, JsonNode node, JDefinedClass jclass, Schema schema) { new APXCustomRule(APXCustomRuleFactory.this).apply(nodeName, node, jclass, schema); return super.apply(nodeName, node, jclass, schema); } }; }
@Override public Rule<JClassContainer, JType> getTypeRule() { return new SoeTypeRule(this); }
@Override public Rule<JFieldVar, JFieldVar> getDefaultRule() { return new SoeDefaultRule(this); }