下面列出了怎么用org.jsonschema2pojo.rules.RuleFactory的API类实例代码及写法,或者点击链接到github查看源代码。
protected JCodeModel getCodegenModel(String schema,
String targetpackage,
final String sourcetype,
final String annotationstyle,
final boolean usedoublenumbers,
final boolean includeaccessors,
final boolean includeadditionalproperties,
final String propertyworddelimiters,
String classname) throws IOException {
JCodeModel codeModel = new JCodeModel();
GenerationConfig config = new DefaultGenerationConfig() {
@Override
public boolean isGenerateBuilders() { // set config option by overriding method
return true;
}
@Override
public SourceType getSourceType() {
return SourceType.valueOf(sourcetype.toUpperCase());
}
@Override
public AnnotationStyle getAnnotationStyle() {
return AnnotationStyle.valueOf(annotationstyle.toUpperCase());
}
@Override
public boolean isUseDoubleNumbers() {
return usedoublenumbers;
}
@Override
public boolean isIncludeAccessors() {
return includeaccessors;
}
@Override
public boolean isIncludeAdditionalProperties() {
return includeadditionalproperties;
}
@Override
public char[] getPropertyWordDelimiters() {
return propertyworddelimiters.replace(" ", "").toCharArray();
}
};
AnnotatorFactory factory = new AnnotatorFactory(config);
CompositeAnnotator annotator = factory.getAnnotator(factory.getAnnotator(config.getAnnotationStyle()), factory.getAnnotator(config.getCustomAnnotator()));
SchemaMapper mapper = new SchemaMapper(new RuleFactory(config, annotator, new SchemaStore()), new SchemaGenerator());
mapper.generate(codeModel, classname, targetpackage, schema);
return codeModel;
}
protected JaxRsEnumRule(RuleFactory ruleFactory) {
this.ruleFactory = ruleFactory;
}
private RuleFactory getRuleFactory(final SourceType sourceType, CodeGenConfig codeGenConfig) {
final DefaultGenerationConfig generationConfig = new JsonSchemaGeneratorConfiguration(sourceType, codeGenConfig);
return new RuleFactory(generationConfig, new Jackson2Annotator(generationConfig), new SchemaStore());
}