本项目是一个报文解析代码生成器,使用的编程语言为Java和freemarker。若您有着解析大量不同类型报文的需求,并且想要获取到报文解析后对应的实体,该项目可能对您有所帮助。
最外层一共有四个大的配置项,分别是:
属性名 | 属性类型 | 属性含义 |
---|---|---|
packagePath | String | 将要生成代码所处的包名,具体含义为报文的大类型,如b1c,b2a,L2 |
entityName | String | 生成代码的类名,含义是对应大报文中对应的某一子帧页面 |
HighByteFirst | boolean | 该信息段(子帧)是否是高字节先传 |
list | List | 该信息段(子帧)中的数据属性信息列表,其中每一个数据段的配置在下方表格展示 |
tips:entityName的命名方式建议
- 若配置的内容为L2报文中的子帧2的页面3,则命名可以为 L2SubFrame2Page3
- 若没有页面的话,假如内容为L2报文中的子帧3则命名可以为 L2SubFrame3
数据属性的配置信息列表
属性名 | 属性类型 | 属性含义 |
---|---|---|
fieldName | String | 字段名 |
bit | int | 字段长度 |
fieldType | String,可选值为UInt,IntS,Bit,Int | 字段类型 |
notes | String | 字段注释 |
baseNumber | double | 比例因子的底数 |
indexNumber | double | 比例因子的指数 |
existRange | boolean | 转换后的实数是否存在范围 |
rangeMinNumber | double | 若范围存在,则为范围的下界 |
rangeMaxNumber | double | 若范围存在,则为范围的上界 |
具体的示例可以参照示例的application.yml
- 保存所有的yml配置文件,用于后续拓展
- yml配置文件的命名可以为application-xxxxxx-yml,方便后续分类收集和查看
对于属性变量的命名方式,下方给出一些参考方案
在$$ 中间添加想要的内容,若为点的话为dot
下面举几个命名例子
字段名 | java的命名 |
---|---|
omega_0 | |
sisai_ocb | |
deltaN$dot$_0 |