private Annotator getAnnotator() { ArrayList<Annotator> annotators = new ArrayList<>(); if (config.isGsonSupport()) { annotators.add(new GsonAnnotator()); } if (config.isJacksonSupport()) { annotators.add(new Jackson2Annotator()); } CompositeAnnotator ac = new CompositeAnnotator(annotators.toArray(new Annotator[annotators.size()])); return ac; }
private SchemaMapper createSchemaMapper() { final RuleFactory ruleFactory = new RuleFactory(); ruleFactory.setAnnotator(new Jackson2Annotator() { @Override public boolean isAdditionalPropertiesSupported() { return false; } }); ruleFactory.setGenerationConfig(config); return new SchemaMapper(ruleFactory, new SchemaGenerator()); }
public static void main(String[] args) throws IOException { // BEGIN EXAMPLE JCodeModel codeModel = new JCodeModel(); URL source = new URL("file:///path/to/my/schema.json"); GenerationConfig config = new DefaultGenerationConfig() { @Override public boolean isGenerateBuilders() { // set config option by overriding method return true; } }; SchemaMapper mapper = new SchemaMapper(new RuleFactory(config, new Jackson2Annotator(config), new SchemaStore()), new SchemaGenerator()); mapper.generate(codeModel, "ClassName", "com.example", source); codeModel.build(new File("output")); // END EXAMPLE }
/** * Create a rule factory with the default generation config options. * * @see DefaultGenerationConfig */ public RuleFactory() { this(new DefaultGenerationConfig(), new Jackson2Annotator(new DefaultGenerationConfig()), new SchemaStore()); }