/** Generate classes needed for the model and API invocation */ public void generateCode() { apiMarshaller = new SwaggerResourceDocReader( this.config, this.getDataTypeMappingProvider(), this.getNameGenerator()); // read resources and get their documentation List<Resource> resources = apiMarshaller.readResourceDocumentation(); preprocess(resources); StringTemplateGroup aTemplateGroup = new StringTemplateGroup("templates", languageConfig.getTemplateLocation()); if (resources.size() > 0) { generateVersionHelper(resources.get(0).getApiVersion(), aTemplateGroup); } generateModelClasses(resources, aTemplateGroup); generateModelClassesForInput(resources, aTemplateGroup); if (languageConfig.isModelEnumRequired()) { generateEnumForAllowedValues(resources, aTemplateGroup); } if (languageConfig.isOutputWrapperRequired()) { generateOutputWrappers(resources, aTemplateGroup); } generateAPIClasses(resources, aTemplateGroup); generateMiscClasses(resources, aTemplateGroup); }