EChartsAnnotationECharts的Java注解框架

联合创作 · 2023-09-28 23:03

ECharts的Java注解框架:用原生Java注解来映射ECharts的Option类,提供Annotation到JSON的转换功能。

思路 How it works

1在后台使用Annotation来标注Bean类
2注解处理器转换成JSON树
3使用JSON系列化工具包(fastjson/gson)输出到前端页面

注解 Annotation

基于ECharts3.0制作Option定义
从上述URL得到JSON文件总体上可以解析成树,除了series、dataZoom和visualMap三个节点需要特殊处理,
其他非叶子节点均可映射成文件系统的文件夹,而叶子节点则映射成Java源文件即注解文件。

总共有3700+个注解!这里生成的注解只能用于标记Bean类的域Field
根据JSON树的叶子节点的Type属性中的不同类型,3700多注解分成6种不同类型:

JS类型 Java类型 默认值 文件名后缀 备注
boolean boolean false Boolean 布尔类型
Color int 0 Hex Web颜色映射成Java整型,由于常用16进制表示所以后缀是Hex
number Number 0 Number 抽象类Number是int、double等基本类型的父类,一律转为double
string String "" String 字符串类型
Array List Array 数组类型一律转成泛型List
Function Object Function 由于Java不支持函数类型,所以需要重载Object的toString方法输出字符串的“函数”
* Object All 参考Function类型

按注解的参数个数分,可以分为两种:

标记注解

标记注解没有参数。如果被标记的元素为null或者等于默认值,注解处理器将不会输出任何东西

单值注解

单值注解只有一个参数。该参数的类型跟注解名件名末尾的单词有关。
由于许多叶子节点有多种类型,所以一个叶子节点可能生成多个注解,但是注解处理器把这些注解当作同一个注解输出。
在单值注解的参数不为空和被标记的元素不为null且不等于默认值的情况下,注解处理器会优先输出被注解元素的值。

浏览 2
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报