ison-schema
2021-01-21 21:43:13 10 举报
json-schema源码分析
作者其他创作
大纲/内容
JDefinedClass
.......
interger
valid
TypeRule
IntergerRule
TitleRule
JType/JFieldVar/JMethod
DefaultRule
PropertiesRule
JCodeModel类库
string
ruleFactory.getSchemaRule().apply()
DescriptionRule
SchemaRule
PropertieRule
FormatRule
ObjectRule
number
ruleFactory.getXXXRule().apply()
获取type属性值,根据type 属性值调用对应的Rule 进行解析json数据
ValidRule
getXXRule
array
SchemaMapper解析
description
boolean
1、JDefinedClass 类是 CodeModel 来定义类的, 它提供了类自身的创建、继承、实现,以及类成 员变量、成员方法的创建方法等2、JMethod 类是 Java 的方法类,它可以创建方法 体,那么就有了 JBlock 类3、JBlock 类是我们经常要用到的类,它提供了非常 多的方法:局部变量的声明、变量赋值、生成各种 控制语句、调用其他方法、设置方法的返回值等4、JFieldVar 类用来定义类的成员变量,它可以对成 员变量进行声明、赋值等5、JVar 类用来定义变量,提供了变量的基本操作如 声明、赋值、初始化等6、JType 类用来定义 Java 中的各种数据类型7、JExpr 类表达式的工厂类
NumberRule
type
object
RequiredRule
EnumRule
RuleFactory
SchemaMapper.generate()
Rule:定义各种标签的解析规则基类比如:arrayRule 解析数组类型,EnumRule 解析 枚举类型RuleFactory :规则工厂,内部提供获取各类规则的获取方法, 如:Rule getEnumRule(){},Rule getArrayRule(){} 等
ArrayRule
JavaBean
Rule
properties
json-schema
required
title
RuleFctory
format
Rule接口
封装 schema,内有路径以及json内容schemaNode
ruleFactory.getObjectRule().apply()
ruleFactory.getTypeRule().apply()
处理属性及生产getter/setter方法
收藏
收藏
0 条评论
下一页