) ScriptObject::executeVoid);
26 | scriptEngineInstance.close();
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/clever-graaljs-core/src/test/java/org/clever/graaljs/core/utils/ScriptCodeUtilsTest.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.core.utils;
2 |
3 | import lombok.extern.slf4j.Slf4j;
4 | import org.junit.jupiter.api.Test;
5 |
6 | import java.util.Arrays;
7 | import java.util.stream.Collectors;
8 |
9 | /**
10 | * 作者:lizw
11 | * 创建时间:2021/06/06 18:52
12 | */
13 | @Slf4j
14 | public class ScriptCodeUtilsTest {
15 | @Test
16 | public void wrapFunction() {
17 | log.info("-->\n{}\n<----", ScriptCodeUtils.compressCode("var a = 3;\r\n var b = 3;", true));
18 | log.info("-->\n{}\n<----", ScriptCodeUtils.wrapFunction("var a = 3;\r\n var b = 3;", 1));
19 | }
20 |
21 | @Test
22 | public void t02() {
23 | log.info("--> {}", Arrays.stream("12122\nwewew\n".split("\n")).collect(Collectors.toList()));
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/clever-graaljs-core/src/test/resources/builtin/AssertUtilsTest.js:
--------------------------------------------------------------------------------
1 | AssertUtils.isTrue(2 > 1, "isTrue");
2 |
3 | AssertUtils.isFalse(2 < 1, "isFalse");
4 |
5 | AssertUtils.isNull(null, "isNull");
6 |
7 | AssertUtils.isNull(undefined, "isNull-undefined");
8 |
9 | AssertUtils.notNull("", "notNull");
10 |
11 | AssertUtils.notNull(false, "notNull-false");
12 |
13 | AssertUtils.hasLength(" ", "hasLength");
14 |
15 | AssertUtils.hasLength("\n", "hasLength-AAA");
16 |
17 | AssertUtils.hasText("1", "hasText");
18 |
19 | AssertUtils.doesNotContain("textToSearch", "ea1", "doesNotContain");
20 |
21 | AssertUtils.notEmpty([1, "3"], "notEmpty");
22 |
23 | AssertUtils.noNullElements([1, "3"], "noNullElements");
24 |
25 |
--------------------------------------------------------------------------------
/clever-graaljs-core/src/test/resources/builtin/CommonUtilsTest.js:
--------------------------------------------------------------------------------
1 | const log = LoggerFactory.getLogger("logger");
2 |
3 | log.info("sleep --------------->{}", CommonUtils.sleep(3000));
4 | log.info("yield --------------->{}", CommonUtils.yield());
5 | log.info("hashCode --------------->{}", CommonUtils.hashCode("log"));
6 | log.info("equals --------------->{}", CommonUtils.equals("1", "1"));
7 | log.info("same --------------->{}", CommonUtils.same("log", "log"));
8 | log.info("currentTimeMillis --------------->{}", CommonUtils.currentTimeMillis());
9 | log.info("now --------------->{}", CommonUtils.now());
10 | log.info("getClass --------------->{}", CommonUtils.getClass(log));
11 | log.info("getClassName --------------->{}", CommonUtils.getClassName([]));
12 | log.info("toString --------------->{}", CommonUtils.toString(["", ""]));
13 | log.info("toString --------------->{}", CommonUtils.toString(null, "123"));
14 |
--------------------------------------------------------------------------------
/clever-graaljs-core/src/test/resources/builtin/CryptoUtilsTest.js:
--------------------------------------------------------------------------------
1 | const log = LoggerFactory.getLogger("logger");
2 |
3 | const input = StringUtils.getByteFromString("李志伟123");
4 | const key = CryptoUtils.generateAesKey();
5 | const iv = CryptoUtils.generateIV();
6 | // 加密
7 | const data = CryptoUtils.aesEncrypt(input, key, iv);
8 | const dataStr = EncodeDecodeUtils.encodeHex(data);
9 | log.info("加密 ---> {}", dataStr);
10 | // 解密
11 | const str = CryptoUtils.aesDecrypt(EncodeDecodeUtils.decodeHex(dataStr), key, iv);
12 | log.info("解密 ---> {}", str);
13 |
--------------------------------------------------------------------------------
/clever-graaljs-core/src/test/resources/builtin/DataSizeUtilsTest.js:
--------------------------------------------------------------------------------
1 | const log = LoggerFactory.getLogger("logger");
2 |
3 | const res = DataSizeUtils.getHumanReadableSize(168595631);
4 | log.info("res -> {}", res);
--------------------------------------------------------------------------------
/clever-graaljs-core/src/test/resources/builtin/DateUtilsTest.js:
--------------------------------------------------------------------------------
1 | const log = LoggerFactory.getLogger("logger");
2 |
3 | log.info("currentTimeMillis --------------->{}", DateUtils.currentTimeMillis());
4 | log.info("now --------------->{}", DateUtils.now());
5 | log.info("getCurrentDate(string) --------------->{}", DateUtils.getCurrentDate("2020-08-22 10:20:30"));
6 | log.info("getCurrentDate --------------->{}", DateUtils.getCurrentDate());
7 | log.info("getCurrentTime --------------->{}", DateUtils.getCurrentTime());
8 | log.info("getCurrentDateTime --------------->{}", DateUtils.getCurrentDateTime());
9 | log.info("getYear --------------->{}", DateUtils.getYear());
10 | log.info("getMonth --------------->{}", DateUtils.getMonth());
11 | log.info("getDay --------------->{}", DateUtils.getDay());
12 | log.info("getWeek --------------->{}", DateUtils.getWeek());
13 | log.info("getDate --------------->{}", DateUtils.getDate(DateUtils.currentTimeMillis(), "yyyy-MM-dd hh:mm:ss"));
14 | log.info("getDate --------------->{}", DateUtils.getDate(DateUtils.currentTimeMillis()));
15 | log.info("parseDate --------------->{}", DateUtils.parseDate(DateUtils.currentTimeMillis()));
--------------------------------------------------------------------------------
/clever-graaljs-core/src/test/resources/builtin/EncodeDecodeUtilsTest.js:
--------------------------------------------------------------------------------
1 | const log = LoggerFactory.getLogger("logger");
2 |
3 | const hex = "89ac8acc41ab3bc2c56c4f89c5c1a23a567a"
4 | log.info("isHexCode -> {}", EncodeDecodeUtils.isHexCode(hex));
5 | const data = EncodeDecodeUtils.decodeHex(hex);
6 | log.info("decodeHex -> {}", [data]);
7 | log.info("encodeHex -> {}", EncodeDecodeUtils.encodeHex(data));
8 | log.info("encodeBase62 -> {}", EncodeDecodeUtils.encodeBase62(data));
9 | log.info("encodeBase64 -> {}", EncodeDecodeUtils.encodeBase64(data));
--------------------------------------------------------------------------------
/clever-graaljs-core/src/test/resources/builtin/HttpUtilsTest.js:
--------------------------------------------------------------------------------
1 | const log = LoggerFactory.getLogger("logger");
2 |
3 | log.info("HttpMethod --> {}", HttpMethod.POST);
4 |
5 | const url1 = "https://3xsw4ap8wah59.cfc-execute.bj.baidubce.com/api/amis-mock/sample";
6 | const res1 = HttpUtils.getStr(url1, {keyWord: "轮椅"});
7 | log.info("res1 -> {}", res1);
8 |
9 | const res2 = HttpUtils.getMap(url1, {keyWord: "体温计"});
10 | log.info("res2 -> {}", res2.data.rows[0]);
11 |
12 | const url2 = "https://3xsw4ap8wah59.cfc-execute.bj.baidubce.com/api/amis-mock/sample";
13 | const res3 = HttpUtils.execRequest("GET", url2, null, {keyWord: "体温计"}, {});
14 | log.info("getStatus -> {}", res3.getStatus());
15 | log.info("getStatusMessage -> {}", res3.getStatusMessage());
16 | log.info("getBody -> {}", res3.getBody());
17 | log.info("getHeaders -> {}", res3.getHeaders());
18 | log.info("isRedirect -> {}", res3.isRedirect());
19 | log.info("isSuccessful -> {}", res3.isSuccessful());
20 | log.info("getHeaderNames -> {}", res3.getHeaderNames());
21 | log.info("getBodyMap -> {}", res3.getBodyMap());
22 | log.info("getFirstHeader -> {}", res3.getFirstHeader("Content-Type"));
23 |
--------------------------------------------------------------------------------
/clever-graaljs-core/src/test/resources/builtin/IDCardUtilsTest.js:
--------------------------------------------------------------------------------
1 | const log = LoggerFactory.getLogger("logger");
2 |
3 | const res_1 = IDCardUtils.validateCard("11010119900307475X");
4 | const res_2 = IDCardUtils.validateCard("11010119900307476X");
5 | log.info("res_1 -> {}", res_1);
6 | log.info("res_2 -> {}", res_2);
7 |
--------------------------------------------------------------------------------
/clever-graaljs-core/src/test/resources/builtin/IDGenerateUtilsTest.js:
--------------------------------------------------------------------------------
1 | const log = LoggerFactory.getLogger("logger");
2 |
3 | log.info("uuid --------------->{}", IDGenerateUtils.uuid());
4 | log.info("uuidNotSplit --------------->{}", IDGenerateUtils.uuidNotSplit());
5 | log.info("shortUuid --------------->{}", IDGenerateUtils.shortUuid());
6 | log.info("objectId --------------->{}", IDGenerateUtils.objectId());
7 | log.info("snowFlakeId --------------->{}", IDGenerateUtils.snowFlakeId());
--------------------------------------------------------------------------------
/clever-graaljs-core/src/test/resources/builtin/IOUtilsTest.js:
--------------------------------------------------------------------------------
1 | const log = LoggerFactory.getLogger("logger");
2 |
3 | log.info("getAbsolutePath -->{}", IOUtils.getAbsolutePath("./"));
4 | log.info("isFile -->{}", IOUtils.isFile("./pom.xml"));
5 | log.info("isDirectory -->{}", IOUtils.isDirectory("./src"));
6 | log.info("exists -->{}", IOUtils.exists("./src1"));
7 | log.info("normalize -->{}", IOUtils.normalize("./src"));
8 | log.info("getExtension -->{}", IOUtils.getExtension("./pom.xml"));
9 |
10 |
--------------------------------------------------------------------------------
/clever-graaljs-core/src/test/resources/builtin/IPAddressUtilsTest.js:
--------------------------------------------------------------------------------
1 | const log = LoggerFactory.getLogger("logger");
2 |
3 | const ipSet = IPAddressUtils.getInet4Address();
4 | log.info("ipSet -> {}", ipSet);
5 |
--------------------------------------------------------------------------------
/clever-graaljs-core/src/test/resources/builtin/ImageValidateUtilsTest.js:
--------------------------------------------------------------------------------
1 | const log = LoggerFactory.getLogger("logger");
2 |
3 | const code = ImageValidateUtils.getRandString(4);
4 | log.info("code -> {}", code);
5 | const byteArr = ImageValidateUtils.createImage();
6 | log.info("byteArr -> {}", [byteArr]);
--------------------------------------------------------------------------------
/clever-graaljs-core/src/test/resources/builtin/JsonUtilsTest.js:
--------------------------------------------------------------------------------
1 | const log = LoggerFactory.getLogger("logger");
2 |
3 | const a = {
4 | aaa: "111",
5 | bbb: "222",
6 | ccc: 333,
7 | ddd: "444",
8 | eee: 555,
9 | }
10 | const xml = `
11 |
12 |
13 | 1
14 | Google Maps
15 | 1.0
16 |
17 |
18 | 2
19 | Chrome
20 | 2.1
21 |
22 |
23 | 3
24 | Google Play
25 | 2.3
26 |
27 |
28 | `;
29 | log.info("toJson --------------->{}", JsonUtils.toJson(a));
30 | log.info("toJsonP --------------->{}", JsonUtils.toJsonP("jsonp", a));
31 | log.info("toMap --------------->{}", JsonUtils.toMap(JsonUtils.toJson(a)));
32 | log.info("update --------------->{}", JsonUtils.update("{a:1,b:2}", a));
33 | log.info("a --------------->{}", a);
34 | log.info("xmlToJson --------------->{}", JsonUtils.xmlToJson(xml));
35 | log.info("jsonToXml --------------->{}", JsonUtils.jsonToXml(JsonUtils.xmlToJson(xml)));
36 |
--------------------------------------------------------------------------------
/clever-graaljs-core/src/test/resources/builtin/RMBUtilsTest.js:
--------------------------------------------------------------------------------
1 | const log = LoggerFactory.getLogger("logger");
2 |
3 | const res = RMBUtils.digitUppercase(Interop.asJDouble("167545.36"))
4 | log.info("res -> {}", res);
--------------------------------------------------------------------------------
/clever-graaljs-core/src/test/resources/builtin/ThreadUtilsTest.js:
--------------------------------------------------------------------------------
1 | const log = LoggerFactory.getLogger("logger");
2 |
3 | log.info("track -> {}", ThreadUtils.track());
4 | log.info("printTrack -> {}", ThreadUtils.printTrack());
5 | log.info("sleep -> {}", ThreadUtils.sleep(100));
6 | log.info("yield -> {}", ThreadUtils.yield());
7 | log.info("currentThread -> {}", CommonUtils.getClassName(ThreadUtils.currentThread()));
8 |
9 |
--------------------------------------------------------------------------------
/clever-graaljs-core/src/test/resources/builtin/UnderlineToCamelUtilsTest.js:
--------------------------------------------------------------------------------
1 | const log = LoggerFactory.getLogger("logger");
2 |
3 | const data = {
4 | "a_aaa": "aaa",
5 | "a_bbb": "bbb",
6 | "a_ccc": "ccc",
7 | "a_ddd": "ddd",
8 | "a_eee": "eee",
9 | "a_fff": "fff",
10 | };
11 | const dataList = Interop.asJList(
12 | {id: "#1", "a_aaa": "aaa", "a_eee": "eee"},
13 | {id: "#2", "a_aaa": "aaa", "a_eee": "eee"},
14 | {id: "#3", "a_aaa": "aaa", "a_eee": "eee"},
15 | );
16 |
17 | log.info("underlineToCamel -> {}", UnderlineToCamelUtils.underlineToCamel(data));
18 | log.info("underlineToCamel -> {}", UnderlineToCamelUtils.underlineToCamel(data, {a_eee: "自定义"}));
19 |
20 | log.info("underlineToCamel -> {}", [UnderlineToCamelUtils.underlineToCamel(dataList)]);
21 | log.info("underlineToCamel -> {}", [UnderlineToCamelUtils.underlineToCamel(dataList, {a_eee: "自定义"})]);
22 |
--------------------------------------------------------------------------------
/clever-graaljs-core/src/test/resources/builtin/XmlUtilsTest.js:
--------------------------------------------------------------------------------
1 | const log = LoggerFactory.getLogger("logger");
2 |
3 | // TODO 传参问题
4 | // const a = Interop.asJDate("2020-08-24 14:48:30")
5 | const a = CommonUtils.now();
6 | const xml = `
7 | 161561313
8 | `;
9 | log.info("toXml --------------->{}", XmlUtils.toXml(a));
10 | log.info("fromXml --------------->{}", XmlUtils.fromXml("11111"));
11 | log.info("update --------------->{}", XmlUtils.update(xml, a));
12 | log.info("update --------------->{}", a);
13 | log.info("xmlToJson --------------->{}", XmlUtils.xmlToJson(xml));
14 | log.info("jsonToXml --------------->{}", XmlUtils.jsonToXml(XmlUtils.xmlToJson(xml)));
15 |
--------------------------------------------------------------------------------
/clever-graaljs-core/src/test/resources/t01.js:
--------------------------------------------------------------------------------
1 | console.warn("args -> ", args, " | ", args.test);
2 | console.warn("args -> ", args, " | ", args.map.map.test);
3 | // return {a: "123"};
4 |
--------------------------------------------------------------------------------
/clever-graaljs-core/src/test/resources/t05.js:
--------------------------------------------------------------------------------
1 | console.log("# -> global: | ", global);
2 | // console.log("# -> a: | ", a); // a is not defined
3 | console.log("# -> getByte: | ", JavaInterop.getByte());
4 | console.log("# -> getShort: | ", JavaInterop.getShort());
5 | console.log("# -> getInt: | ", JavaInterop.getInt());
6 | console.log("# -> getLong: | ", JavaInterop.getLong());
7 | console.log("# -> getFloat: | ", JavaInterop.getFloat());
8 | console.log("# -> getDouble: | ", JavaInterop.getDouble());
9 | console.log("# -> getBoolean: | ", JavaInterop.getBoolean());
10 | console.log("# -> getChar: | ", JavaInterop.getChar());
11 | console.log("# -> getString: | ", JavaInterop.getString());
12 | console.log("# -> getDate: | ", JavaInterop.getDate());
13 | console.log("# -> getArray: | ", JavaInterop.getArray());
14 | console.log("# -> getList: | ", JavaInterop.getList());
15 | console.log("# -> getSet: | ", JavaInterop.getSet());
16 | console.log("# -> getMap: | ", JavaInterop.getMap());
17 | console.log("# -> getMap.string | ", JavaInterop.getMap().string);
18 |
--------------------------------------------------------------------------------
/clever-graaljs-core/src/test/resources/t06.js:
--------------------------------------------------------------------------------
1 | // noinspection JSAnnotator
2 |
3 | return {
4 | a: "aaa",
5 | b: 12345,
6 | c: true,
7 | d: new Date()
8 | };
9 |
10 |
--------------------------------------------------------------------------------
/clever-graaljs-data-common/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 | 4.0.0
6 |
7 | clever-graaljs-data-common
8 | jar
9 |
10 |
11 | org.clever
12 | clever-graaljs
13 | ${revision}
14 |
15 |
16 |
17 |
18 | org.clever
19 | clever-graaljs-core
20 |
21 |
22 |
--------------------------------------------------------------------------------
/clever-graaljs-data-common/src/main/java/org/clever/graaljs/data/common/AbstractDataSource.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.data.common;
2 |
3 | /**
4 | * 作者:lizw
5 | * 创建时间:2020/02/17 14:55
6 | */
7 | public abstract class AbstractDataSource implements AutoCloseable {
8 | /**
9 | * 当前数据源是否关闭
10 | */
11 | protected boolean closed = false;
12 |
13 | /**
14 | * 校验数据源是否可用
15 | */
16 | public void initCheck() {
17 | }
18 |
19 | /**
20 | * 当前数据源是否关闭
21 | */
22 | public boolean isClosed() {
23 | return closed;
24 | }
25 |
26 | /**
27 | * 关闭当前数据源
28 | */
29 | @Override
30 | public void close() {
31 | closed = true;
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/clever-graaljs-data-common/src/main/java/org/clever/graaljs/data/common/model/entity/BaseEntity.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.data.common.model.entity;
2 |
3 | import java.io.Serializable;
4 |
5 | /**
6 | * 实体类接口
7 | *
8 | * 作者:LiZW
9 | * 创建时间:2016-5-12 9:26
10 | */
11 | public interface BaseEntity extends Serializable {
12 | /**
13 | * 表示显示的常值
14 | */
15 | Integer SHOW = 1;
16 | /**
17 | * 表示隐藏的常值
18 | */
19 | Integer HIDE = 0;
20 |
21 | /**
22 | * 是
23 | */
24 | Integer YES = 1;
25 | /**
26 | * 否
27 | */
28 | Integer NO = 0;
29 |
30 | /**
31 | * 删除标记名称
32 | */
33 | String FIELD_DEL_FLAG = "delFlag";
34 | /**
35 | * 删除标记,1:正常
36 | */
37 | Integer DEL_FLAG_NORMAL = 1;
38 | /**
39 | * 删除标记,2:删除
40 | */
41 | Integer DEL_FLAG_DELETE = 2;
42 | /**
43 | * 删除标记,3:审核
44 | */
45 | Integer DEL_FLAG_AUDIT = 3;
46 |
47 | /**
48 | * 自身关联实体类的fullPath属性分隔标识
49 | */
50 | char FULL_PATH_SPLIT = '-';
51 |
52 | /**
53 | * 树结构对象 根节点父级编号
54 | */
55 | Long ROOT_PARENT_ID = -1L;
56 | }
57 |
--------------------------------------------------------------------------------
/clever-graaljs-data-common/src/main/java/org/clever/graaljs/data/common/model/entity/DataEntity.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.data.common.model.entity;
2 |
3 | import lombok.Data;
4 | import lombok.EqualsAndHashCode;
5 |
6 | import java.util.Date;
7 |
8 | /**
9 | * 含有基本字段的实体类抽象
10 | *
11 | * 作者:LiZW
12 | * 创建时间:2016-5-12 9:35
13 | */
14 | @EqualsAndHashCode(callSuper = true)
15 | @Data
16 | public abstract class DataEntity extends IdEntity {
17 | private static final long serialVersionUID = 1L;
18 |
19 | /**
20 | * 创建者
21 | */
22 | protected String createBy;
23 |
24 | /**
25 | * 创建日期
26 | */
27 | protected Date createAt;
28 |
29 | /**
30 | * 更新者
31 | */
32 | protected String updateBy;
33 |
34 | /**
35 | * 更新日期
36 | */
37 | protected Date updateAt;
38 | }
39 |
--------------------------------------------------------------------------------
/clever-graaljs-data-common/src/main/java/org/clever/graaljs/data/common/model/entity/IdEntity.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.data.common.model.entity;
2 |
3 | import lombok.Data;
4 |
5 | /**
6 | * 含有基本字段和主键字段的实体类抽象
7 | *
8 | * 作者:LiZW
9 | * 创建时间:2016-5-12 9:25
10 | */
11 | @Data
12 | public abstract class IdEntity implements BaseEntity {
13 | private static final long serialVersionUID = 1L;
14 |
15 | /**
16 | * 编号,Entity主键 ,使用统一的主键生成策略
17 | */
18 | protected Long id;
19 | }
20 |
--------------------------------------------------------------------------------
/clever-graaljs-data-jdbc/src/main/java/org/clever/graaljs/data/jdbc/builtin/SqlSourceUtils.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.data.jdbc.builtin;
2 |
3 | import org.apache.commons.lang3.StringUtils;
4 | import org.clever.dynamic.sql.BoundSql;
5 | import org.clever.dynamic.sql.DynamicSqlParser;
6 | import org.clever.dynamic.sql.builder.SqlSource;
7 |
8 | /**
9 | * 作者:lizw
10 | * 创建时间:2021/07/30 22:58
11 | */
12 | public class SqlSourceUtils {
13 | public static final SqlSourceUtils Instance = new SqlSourceUtils();
14 |
15 | private SqlSourceUtils() {
16 | }
17 |
18 | /**
19 | * 获取 SqlSource
20 | *
21 | * @param xmlSql MyBatis XML sql
22 | */
23 | public SqlSource getSqlSource(String xmlSql) {
24 | if (StringUtils.isBlank(xmlSql)) {
25 | return null;
26 | }
27 | xmlSql = StringUtils.trim(xmlSql);
28 | if (!xmlSql.startsWith("", xmlSql);
30 | }
31 | return DynamicSqlParser.parserSql(xmlSql);
32 | }
33 |
34 | /**
35 | * 获取 BoundSql
36 | *
37 | * @param xmlSql MyBatis XML sql
38 | * @param parameter SQL参数
39 | */
40 | public BoundSql getBoundSql(String xmlSql, Object parameter) {
41 | return getSqlSource(xmlSql).getBoundSql(parameter);
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/clever-graaljs-data-jdbc/src/main/java/org/clever/graaljs/data/jdbc/dialects/DB2Dialect.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.data.jdbc.dialects;
2 |
3 | import java.util.Map;
4 |
5 | /**
6 | * 作者: lzw
7 | * 创建时间:2019-10-03 12:52
8 | */
9 | public class DB2Dialect extends AbstractDialect {
10 | @Override
11 | public String doBuildPaginationSql(String originalSql, long offset, long limit, Map paramMap, String firstMark, String secondMark) {
12 | long firstParam = offset + 1;
13 | long secondParam = offset + limit;
14 | paramMap.put(firstMark, firstParam);
15 | paramMap.put(secondMark, secondParam);
16 | return "SELECT * FROM (SELECT TMP_PAGE.*,ROWNUMBER() OVER() AS ROW_ID FROM ( " + originalSql + " ) AS TMP_PAGE) TMP_PAGE WHERE ROW_ID BETWEEN " + (COLON + firstMark) + " AND " + (COLON + secondMark);
17 | }
18 |
19 | @Override
20 | public String buildPaginationSql(String originalSql, long offset, long limit) {
21 | long firstParam = offset + 1;
22 | long secondParam = offset + limit;
23 | return "SELECT * FROM (SELECT TMP_PAGE.*,ROWNUMBER() OVER() AS ROW_ID FROM ( " + originalSql + " ) AS TMP_PAGE) TMP_PAGE WHERE ROW_ID BETWEEN " + firstParam + " AND " + secondParam;
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/clever-graaljs-data-jdbc/src/main/java/org/clever/graaljs/data/jdbc/dialects/DmDialect.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.data.jdbc.dialects;
2 |
3 | /**
4 | * 作者: lzw
5 | * 创建时间:2019-10-03 13:05
6 | */
7 | public class DmDialect extends OracleDialect {
8 | }
9 |
--------------------------------------------------------------------------------
/clever-graaljs-data-jdbc/src/main/java/org/clever/graaljs/data/jdbc/dialects/H2Dialect.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.data.jdbc.dialects;
2 |
3 | import java.util.Map;
4 |
5 | /**
6 | * 作者: lzw
7 | * 创建时间:2019-10-03 12:55
8 | */
9 | public class H2Dialect extends AbstractDialect {
10 | @Override
11 | public String doBuildPaginationSql(String originalSql, long offset, long limit, Map paramMap, String firstMark, String secondMark) {
12 | String sql = originalSql + " limit " + (COLON + firstMark);
13 | if (offset > 0) {
14 | sql += (" offset " + (COLON + secondMark));
15 | }
16 | return sql;
17 | }
18 |
19 | @Override
20 | public String buildPaginationSql(String originalSql, long offset, long limit) {
21 | String sql = originalSql + " limit " + offset;
22 | if (offset > 0) {
23 | sql += (" offset " + limit);
24 | }
25 | return sql;
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/clever-graaljs-data-jdbc/src/main/java/org/clever/graaljs/data/jdbc/dialects/HSQLDialect.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.data.jdbc.dialects;
2 |
3 | import java.util.Map;
4 |
5 | /**
6 | * 作者: lzw
7 | * 创建时间:2019-10-03 13:03
8 | */
9 | public class HSQLDialect extends AbstractDialect {
10 | @Override
11 | public String doBuildPaginationSql(String originalSql, long offset, long limit, Map paramMap, String firstMark, String secondMark) {
12 | return originalSql + " limit " + (COLON + firstMark) + COMMA + (COLON + secondMark);
13 | }
14 |
15 | @Override
16 | public String buildPaginationSql(String originalSql, long offset, long limit) {
17 | return originalSql + " limit " + offset + COMMA + limit;
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/clever-graaljs-data-jdbc/src/main/java/org/clever/graaljs/data/jdbc/dialects/IDialect.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.data.jdbc.dialects;
2 |
3 | import java.util.Map;
4 |
5 | /**
6 | * 作者: lzw
7 | * 创建时间:2019-10-03 12:14
8 | */
9 | public interface IDialect {
10 | String COLON = ":";
11 | String COMMA = ",";
12 | String FIRST_MARK = "first_mark";
13 | String SECOND_MARK = "second_mark";
14 |
15 | /**
16 | * 组装分页语句(使用分页参数)
17 | *
18 | * @param originalSql 原始语句
19 | * @param offset 偏移量
20 | * @param limit 界限
21 | * @param paramMap Sql参数
22 | */
23 | String buildPaginationSql(String originalSql, long offset, long limit, Map paramMap);
24 |
25 | /**
26 | * 组装分页语句(不使用分页参数)
27 | *
28 | * @param originalSql 原始语句
29 | * @param offset 偏移量
30 | * @param limit 界限
31 | */
32 | String buildPaginationSql(String originalSql, long offset, long limit);
33 | }
34 |
--------------------------------------------------------------------------------
/clever-graaljs-data-jdbc/src/main/java/org/clever/graaljs/data/jdbc/dialects/MariaDBDialect.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.data.jdbc.dialects;
2 |
3 | /**
4 | * 作者: lzw
5 | * 创建时间:2019-10-03 12:49
6 | */
7 | public class MariaDBDialect extends MySqlDialect {
8 | }
9 |
--------------------------------------------------------------------------------
/clever-graaljs-data-jdbc/src/main/java/org/clever/graaljs/data/jdbc/dialects/MySqlDialect.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.data.jdbc.dialects;
2 |
3 | import java.util.Map;
4 |
5 | /**
6 | * 作者: lzw
7 | * 创建时间:2019-10-03 12:16
8 | */
9 | public class MySqlDialect extends AbstractDialect {
10 | @Override
11 | public String doBuildPaginationSql(String originalSql, long offset, long limit, Map paramMap, String firstMark, String secondMark) {
12 | return originalSql + " LIMIT " + (COLON + firstMark) + COMMA + (COLON + secondMark);
13 | }
14 |
15 | @Override
16 | public String buildPaginationSql(String originalSql, long offset, long limit) {
17 | return originalSql + " LIMIT " + offset + COMMA + limit;
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/clever-graaljs-data-jdbc/src/main/java/org/clever/graaljs/data/jdbc/dialects/OracleDialect.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.data.jdbc.dialects;
2 |
3 | import java.util.Map;
4 |
5 | /**
6 | * 作者: lzw
7 | * 创建时间:2019-10-03 12:49
8 | */
9 | public class OracleDialect extends AbstractDialect {
10 | @Override
11 | public String doBuildPaginationSql(String originalSql, long offset, long limit, Map paramMap, String firstMark, String secondMark) {
12 | limit = (offset >= 1) ? (offset + limit) : limit;
13 | paramMap.put(secondMark, limit);
14 | return "SELECT * FROM ( SELECT TMP.*, ROWNUM ROW_ID FROM ( " + originalSql + " ) TMP WHERE ROWNUM <=" + (COLON + firstMark) + ") WHERE ROW_ID > " + (COLON + secondMark);
15 | }
16 |
17 | @Override
18 | public String buildPaginationSql(String originalSql, long offset, long limit) {
19 | return "SELECT * FROM ( SELECT TMP.*, ROWNUM ROW_ID FROM ( " + originalSql + " ) TMP WHERE ROWNUM <=" + limit + ") WHERE ROW_ID > " + offset;
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/clever-graaljs-data-jdbc/src/main/java/org/clever/graaljs/data/jdbc/dialects/PostgreDialect.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.data.jdbc.dialects;
2 |
3 | import java.util.Map;
4 |
5 | /**
6 | * 作者: lzw
7 | * 创建时间:2019-10-03 13:02
8 | */
9 | public class PostgreDialect extends AbstractDialect {
10 | @Override
11 | public String doBuildPaginationSql(String originalSql, long offset, long limit, Map paramMap, String firstMark, String secondMark) {
12 | return originalSql + " limit " + (COLON + firstMark) + " offset " + (COLON + secondMark);
13 | }
14 |
15 | @Override
16 | public String buildPaginationSql(String originalSql, long offset, long limit) {
17 | return originalSql + " limit " + offset + " offset " + limit;
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/clever-graaljs-data-jdbc/src/main/java/org/clever/graaljs/data/jdbc/dialects/SQLServerDialect.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.data.jdbc.dialects;
2 |
3 | import java.util.Map;
4 |
5 | /**
6 | * 作者: lzw
7 | * 创建时间:2019-10-03 12:57
8 | */
9 | public class SQLServerDialect extends AbstractDialect {
10 | @Override
11 | public String doBuildPaginationSql(String originalSql, long offset, long limit, Map paramMap, String firstMark, String secondMark) {
12 | return originalSql + " OFFSET " + (COLON + firstMark) + " ROWS FETCH NEXT " + (COLON + secondMark) + " ROWS ONLY";
13 | }
14 |
15 | @Override
16 | public String buildPaginationSql(String originalSql, long offset, long limit) {
17 | return originalSql + " OFFSET " + offset + " ROWS FETCH NEXT " + limit + " ROWS ONLY";
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/clever-graaljs-data-jdbc/src/main/java/org/clever/graaljs/data/jdbc/dialects/SQLiteDialect.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.data.jdbc.dialects;
2 |
3 | import java.util.Map;
4 |
5 | /**
6 | * 作者: lzw
7 | * 创建时间:2019-10-03 13:04
8 | */
9 | public class SQLiteDialect extends AbstractDialect {
10 | @Override
11 | public String doBuildPaginationSql(String originalSql, long offset, long limit, Map paramMap, String firstMark, String secondMark) {
12 | return originalSql + " limit " + (COLON + firstMark) + " offset " + (COLON + secondMark);
13 | }
14 |
15 | @Override
16 | public String buildPaginationSql(String originalSql, long offset, long limit) {
17 | return originalSql + " limit " + offset + " offset " + limit;
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/clever-graaljs-data-jdbc/src/main/java/org/clever/graaljs/data/jdbc/mybatis/MyBatisMapperSql.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.data.jdbc.mybatis;
2 |
3 | import org.clever.dynamic.sql.BoundSql;
4 | import org.clever.dynamic.sql.builder.SqlSource;
5 |
6 | /**
7 | * 作者:lizw
8 | * 创建时间:2020/09/30 15:28
9 | */
10 | public interface MyBatisMapperSql {
11 |
12 | /**
13 | * 获取 SqlSource
14 | *
15 | * @param sqlId SQL ID
16 | */
17 | SqlSource getSqlSource(String sqlId);
18 |
19 | /**
20 | * 获取 BoundSql
21 | *
22 | * @param sqlId SQL ID
23 | * @param parameter SQL参数
24 | */
25 | BoundSql getBoundSql(String sqlId, Object parameter);
26 | }
27 |
--------------------------------------------------------------------------------
/clever-graaljs-data-jdbc/src/main/java/org/clever/graaljs/data/jdbc/support/AbstractRowCountCallbackHandler.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.data.jdbc.support;
2 |
3 | import org.springframework.jdbc.core.RowCountCallbackHandler;
4 | import org.springframework.util.LinkedCaseInsensitiveMap;
5 |
6 | import java.sql.ResultSet;
7 | import java.sql.SQLException;
8 | import java.util.Map;
9 |
10 | /**
11 | * 作者:lizw
12 | * 创建时间:2020/07/09 22:44
13 | */
14 | public abstract class AbstractRowCountCallbackHandler extends RowCountCallbackHandler {
15 |
16 | protected Map getRowData(ResultSet rs, int rowNum) throws SQLException {
17 | Map rowData = new LinkedCaseInsensitiveMap<>(getColumnCount());
18 | for (int i = 0; i < getColumnCount(); i++) {
19 | assert getColumnNames() != null;
20 | String column = getColumnNames()[i];
21 | rowData.putIfAbsent(column, getColumnValue(rs, i + 1));
22 | }
23 | return rowData;
24 | }
25 |
26 | protected Object getColumnValue(ResultSet rs, int index) throws SQLException {
27 | return org.springframework.jdbc.support.JdbcUtils.getResultSetValue(rs, index);
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/clever-graaljs-data-jdbc/src/main/java/org/clever/graaljs/data/jdbc/support/JdbcDataSourceStatus.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.data.jdbc.support;
2 |
3 | import lombok.Data;
4 |
5 | import java.io.Serializable;
6 |
7 | /**
8 | * 作者:lizw
9 | * 创建时间:2020/08/08 22:18
10 | */
11 | @Data
12 | public class JdbcDataSourceStatus implements Serializable {
13 |
14 | private int totalConnections;
15 |
16 | private int activeConnections;
17 |
18 | private int idleConnections;
19 |
20 | private int threadsAwaitingConnection;
21 | }
22 |
--------------------------------------------------------------------------------
/clever-graaljs-data-jdbc/src/main/java/org/clever/graaljs/data/jdbc/support/JdbcInfo.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.data.jdbc.support;
2 |
3 | import lombok.Data;
4 | import org.clever.graaljs.data.jdbc.support.mybatisplus.DbType;
5 |
6 | import java.io.Serializable;
7 |
8 | @Data
9 | public class JdbcInfo implements Serializable {
10 | private String driverClassName;
11 |
12 | private String jdbcUrl;
13 |
14 | private boolean isAutoCommit;
15 |
16 | private boolean isReadOnly;
17 |
18 | private DbType dbType;
19 |
20 | private boolean isClosed;
21 | }
22 |
--------------------------------------------------------------------------------
/clever-graaljs-data-jdbc/src/main/java/org/clever/graaljs/data/jdbc/support/mybatisplus/CollectionUtils.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.data.jdbc.support.mybatisplus;
2 |
3 | import java.util.Collection;
4 | import java.util.Map;
5 |
6 | /**
7 | * 作者:lizw
8 | * 创建时间:2021/06/12 11:18
9 | */
10 | @SuppressWarnings("ALL")
11 | public class CollectionUtils {
12 |
13 | /**
14 | * 校验集合是否为空
15 | *
16 | * @param coll 入参
17 | * @return boolean
18 | */
19 | public static boolean isEmpty(Collection> coll) {
20 | return (coll == null || coll.isEmpty());
21 | }
22 |
23 | /**
24 | * 校验集合是否不为空
25 | *
26 | * @param coll 入参
27 | * @return boolean
28 | */
29 | public static boolean isNotEmpty(Collection> coll) {
30 | return !isEmpty(coll);
31 | }
32 |
33 | /**
34 | * 判断Map是否为空
35 | *
36 | * @param map 入参
37 | * @return boolean
38 | */
39 | public static boolean isEmpty(Map, ?> map) {
40 | return (map == null || map.isEmpty());
41 | }
42 |
43 | /**
44 | * 判断Map是否不为空
45 | *
46 | * @param map 入参
47 | * @return boolean
48 | */
49 | public static boolean isNotEmpty(Map, ?> map) {
50 | return !isEmpty(map);
51 | }
52 | }
53 |
--------------------------------------------------------------------------------
/clever-graaljs-data-jdbc/src/main/java/org/clever/graaljs/data/jdbc/support/mybatisplus/ExceptionUtils.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.data.jdbc.support.mybatisplus;
2 |
3 | /**
4 | * 作者:lizw
5 | * 创建时间:2021/06/12 11:28
6 | */
7 | @SuppressWarnings("ALL")
8 | public final class ExceptionUtils {
9 |
10 | private ExceptionUtils() {
11 | }
12 |
13 | /**
14 | * 返回一个新的异常,统一构建,方便统一处理
15 | *
16 | * @param msg 消息
17 | * @param t 异常信息
18 | * @return 返回异常
19 | */
20 | public static MybatisPlusException mpe(String msg, Throwable t, Object... params) {
21 | return new MybatisPlusException(String.format(msg, params), t);
22 | }
23 |
24 | /**
25 | * 重载的方法
26 | *
27 | * @param msg 消息
28 | * @return 返回异常
29 | */
30 | public static MybatisPlusException mpe(String msg, Object... params) {
31 | return new MybatisPlusException(String.format(msg, params));
32 | }
33 |
34 | /**
35 | * 重载的方法
36 | *
37 | * @param t 异常
38 | * @return 返回异常
39 | */
40 | public static MybatisPlusException mpe(Throwable t) {
41 | return new MybatisPlusException(t);
42 | }
43 | }
--------------------------------------------------------------------------------
/clever-graaljs-data-jdbc/src/main/java/org/clever/graaljs/data/jdbc/support/mybatisplus/ISqlParser.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.data.jdbc.support.mybatisplus;
2 |
3 | import org.clever.dynamic.sql.reflection.MetaObject;
4 |
5 | /**
6 | * 作者:lizw
7 | * 创建时间:2021/06/12 11:08
8 | */
9 | @SuppressWarnings("ALL")
10 | public interface ISqlParser {
11 |
12 | /**
13 | * 解析 SQL 方法
14 | *
15 | * @param metaObject 元对象
16 | * @param sql SQL 语句
17 | * @return SQL 信息
18 | */
19 | SqlInfo parser(MetaObject metaObject, String sql);
20 |
21 | /**
22 | *
23 | * 是否执行 SQL 解析 parser 方法
24 | *
25 | *
26 | * @param metaObject 元对象
27 | * @param sql SQL 语句
28 | * @return SQL 信息
29 | */
30 | default boolean doFilter(final MetaObject metaObject, final String sql) {
31 | // 默认 true 执行 SQL 解析, 可重写实现控制逻辑
32 | return true;
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/clever-graaljs-data-jdbc/src/main/java/org/clever/graaljs/data/jdbc/support/mybatisplus/MybatisPlusException.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.data.jdbc.support.mybatisplus;
2 |
3 | /**
4 | * 作者:lizw
5 | * 创建时间:2021/06/12 11:28
6 | */
7 | @SuppressWarnings("ALL")
8 | public class MybatisPlusException extends RuntimeException {
9 | private static final long serialVersionUID = 1L;
10 |
11 | public MybatisPlusException(String message) {
12 | super(message);
13 | }
14 |
15 | public MybatisPlusException(Throwable throwable) {
16 | super(throwable);
17 | }
18 |
19 | public MybatisPlusException(String message, Throwable throwable) {
20 | super(message, throwable);
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/clever-graaljs-data-jdbc/src/main/java/org/clever/graaljs/data/jdbc/support/mybatisplus/SqlInfo.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.data.jdbc.support.mybatisplus;
2 |
3 | import lombok.Data;
4 | import lombok.experimental.Accessors;
5 |
6 | /**
7 | * 作者:lizw
8 | * 创建时间:2021/06/12 11:05
9 | */
10 | @SuppressWarnings("ALL")
11 | @Data
12 | @Accessors(chain = true)
13 | public class SqlInfo {
14 | /**
15 | * SQL 内容
16 | */
17 | private String sql;
18 | /**
19 | * 是否排序
20 | */
21 | private boolean orderBy = true;
22 |
23 | public static SqlInfo newInstance() {
24 | return new SqlInfo();
25 | }
26 | }
--------------------------------------------------------------------------------
/clever-graaljs-data-jdbc/src/test/resources/builtin/MyBatisJdbcDatabaseTest.js:
--------------------------------------------------------------------------------
1 | const log = LoggerFactory.getLogger("logger");
2 | const mybatis = MyBatisJdbcDatabase.getDefault();
3 |
4 | const res = mybatis.queryList("sql01.t01", {purchaseMobile: "13006155525"})
5 | log.info("res -> {}", [res]);
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/clever-graaljs-data-jdbc/src/test/resources/mapper/sql01.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
13 |
--------------------------------------------------------------------------------
/clever-graaljs-data-redis/src/main/java/org/clever/graaljs/data/redis/DataRedisEngineGlobalUtils.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.data.redis;
2 |
3 | import org.clever.graaljs.data.redis.builtin.constant.NodeTypeEnum;
4 | import org.clever.graaljs.data.redis.builtin.constant.RedisDataTypeEnum;
5 | import org.clever.graaljs.data.redis.builtin.wrap.RedisDatabase;
6 |
7 | import java.util.Map;
8 |
9 | /**
10 | * 作者:lizw
11 | * 创建时间:2021/07/16 17:36
12 | */
13 | public class DataRedisEngineGlobalUtils {
14 | /**
15 | * 设置引擎默认的全局对象
16 | */
17 | public static void putGlobalObjects(Map contextMap) {
18 | // 枚举值
19 | contextMap.put("RedisDataType", RedisDataTypeEnum.RedisDataType.Instance);
20 | contextMap.put("NodeType", NodeTypeEnum.NodeType.Instance);
21 | // redis
22 | contextMap.put("RedisDatabase", RedisDatabase.Instance);
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/clever-graaljs-data-redis/src/main/java/org/clever/graaljs/data/redis/builtin/constant/NodeTypeEnum.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.data.redis.builtin.constant;
2 |
3 | /**
4 | * 作者:lizw
5 | * 创建时间:2021/07/16 17:40
6 | */
7 | public interface NodeTypeEnum {
8 | final class NodeType {
9 | public static final NodeType Instance = new NodeType();
10 |
11 | private NodeType() {
12 | }
13 |
14 | public final String Master = "MASTER";
15 | public final String Slave = "SLAVE";
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/clever-graaljs-data-redis/src/main/java/org/clever/graaljs/data/redis/builtin/constant/RedisDataTypeEnum.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.data.redis.builtin.constant;
2 |
3 | /**
4 | * 作者:lizw
5 | * 创建时间:2021/07/16 17:35
6 | */
7 | public interface RedisDataTypeEnum {
8 | final class RedisDataType {
9 | public static final RedisDataType Instance = new RedisDataType();
10 |
11 | private RedisDataType() {
12 | }
13 |
14 | /**
15 | * key不存在
16 | */
17 | public final String None = "none";
18 | /**
19 | * String结构
20 | */
21 | public final String String = "string";
22 | /**
23 | * List结构
24 | */
25 | public final String List = "list";
26 | /**
27 | * Set结构
28 | */
29 | public final String Set = "set";
30 | /**
31 | * ZSet结构
32 | */
33 | public final String ZSet = "zset";
34 | /**
35 | * Hash结构
36 | */
37 | public final String Hash = "hash";
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/clever-graaljs-data-redis/src/main/java/org/clever/graaljs/data/redis/support/PointValue.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.data.redis.support;
2 |
3 | import lombok.Data;
4 |
5 | import java.io.Serializable;
6 |
7 | /**
8 | * 作者:lizw
9 | * 创建时间:2020/07/11 17:16
10 | */
11 | @Data
12 | public class PointValue implements Serializable {
13 | /**
14 | * x轴位置(经度)
15 | */
16 | private double x;
17 | /**
18 | * y轴位置(维度)
19 | */
20 | private double y;
21 |
22 | /**
23 | * 数据值
24 | */
25 | private Object value;
26 |
27 | public PointValue() {
28 | }
29 |
30 | public PointValue(double x, double y, Object value) {
31 | this.x = x;
32 | this.y = y;
33 | this.value = value;
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/clever-graaljs-data-redis/src/main/java/org/clever/graaljs/data/redis/support/RedisDataSourceStatus.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.data.redis.support;
2 |
3 | import lombok.Data;
4 |
5 | import java.io.Serializable;
6 |
7 | /**
8 | * 作者:lizw
9 | * 创建时间:2020/11/12 14:47
10 | */
11 | @Data
12 | public class RedisDataSourceStatus implements Serializable {
13 | /**
14 | * 总连接数
15 | */
16 | private int totalConnections = 0;
17 | /**
18 | * 活动连接数
19 | */
20 | private int activeConnections = 0;
21 | /**
22 | * 空闲连接数
23 | */
24 | private int idleConnections = 0;
25 | /**
26 | * 等待索取连接的线程数
27 | */
28 | private int threadsAwaitingConnection = 0;
29 | /**
30 | * 最大借用等待时间(毫秒)
31 | */
32 | private long maxBorrowWaitTimeMillis;
33 | /**
34 | * 平均借用等待时间(毫秒)
35 | */
36 | private long meanBorrowWaitTimeMillis;
37 | /**
38 | * 平均活动时间(毫秒)
39 | */
40 | private Long meanActiveTimeMillis;
41 | /**
42 | * 平均空闲时间(毫秒)
43 | */
44 | private Long meanIdleTimeMillis;
45 | }
46 |
--------------------------------------------------------------------------------
/clever-graaljs-data-redis/src/main/java/org/clever/graaljs/data/redis/support/ScanCallback.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.data.redis.support;
2 |
3 | /**
4 | * 作者:lizw
5 | * 创建时间:2020/07/11 16:30
6 | */
7 | @FunctionalInterface
8 | public interface ScanCallback {
9 |
10 | /**
11 | * 数据迭代回调处理
12 | *
13 | * @param item 数据项
14 | * @return 是否需要中断迭代
15 | */
16 | boolean next(T item);
17 | }
18 |
--------------------------------------------------------------------------------
/clever-graaljs-data-redis/src/main/java/org/clever/graaljs/data/redis/support/ZSetValue.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.data.redis.support;
2 |
3 | import lombok.Getter;
4 |
5 | import java.io.Serializable;
6 |
7 | /**
8 | * 作者:lizw
9 | * 创建时间:2020/07/11 16:59
10 | */
11 | @Getter
12 | public class ZSetValue implements Serializable {
13 | private Object value;
14 |
15 | private double score;
16 |
17 | public ZSetValue() {
18 | }
19 |
20 | public ZSetValue(Object value, Double score) {
21 | this.value = value;
22 | this.score = score;
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/clever-graaljs-data-redis/src/test/java/org/clever/graaljs/data/redis/BaseTest.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.data.redis;
2 |
3 | import org.clever.graaljs.core.internal.jackson.JacksonMapperSupport;
4 | import org.clever.graaljs.data.redis.builtin.adapter.RedisDataSource;
5 | import org.springframework.boot.autoconfigure.data.redis.RedisProperties;
6 |
7 | /**
8 | * 作者:lizw
9 | * 创建时间:2021/06/13 00:33
10 | */
11 | public class BaseTest {
12 | public static RedisProperties newRedisProperties() {
13 | RedisProperties properties = new RedisProperties();
14 | properties.setHost("192.168.1.201");
15 | properties.setPort(12001);
16 | properties.setPassword("a123456!@#");
17 | properties.setDatabase(5);
18 | properties.getLettuce().setPool(new RedisProperties.Pool());
19 | properties.getLettuce().getPool().setMaxIdle(1);
20 | properties.getLettuce().getPool().setMaxActive(10);
21 | return properties;
22 | }
23 |
24 | public static RedisDataSource newRedisDataSource() {
25 | return new RedisDataSource(newRedisProperties(), JacksonMapperSupport.getRedisJacksonMapper().getMapper());
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/clever-graaljs-data-redis/src/test/resources/builtin/RedisDatabaseTest.js:
--------------------------------------------------------------------------------
1 | const log = LoggerFactory.getLogger("logger");
2 | const redis = RedisDatabase.getDefault();
3 |
4 | redis.vSet("string_key_0", "123abc", 1000 * 60);
5 | redis.vSet(
6 | "string_key_2",
7 | {a: 1, b: 2.002, c: true, d: "abcde", e: Interop.asJBigDecimal("123.456"), f: CommonUtils.now()},
8 | 1000 * 60
9 | );
10 | const a = redis.vGet("string_key_0");
11 | const b = redis.vGet("string_key_2");
12 | const c = {a: b.a, b: b.b, c: b.c, d: b.d, e: b.e, f: b.f};
13 | log.info("ClassName -> {}", CommonUtils.getClassName(b));
14 | const iterator = b.entrySet().iterator();
15 | while (iterator.hasNext()) {
16 | const entry = iterator.next();
17 | log.info(
18 | "key -> {} | value -> {} | value ClassName -> {}",
19 | entry.getKey(),
20 | entry.getValue(),
21 | CommonUtils.getClassName(entry.getValue())
22 | );
23 | }
24 |
25 | log.info("#-> {}", {a, b, c})
26 |
27 |
28 |
--------------------------------------------------------------------------------
/clever-graaljs-fast-api-demo/src/main/groovy/org/clever/graaljs/fast/api/demo/HttpRouteDemo.groovy:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.fast.api.demo
2 |
3 | import org.clever.hot.reload.route.HttpRoute
4 | import org.clever.hot.reload.route.HttpRouteRegister
5 |
6 | class HttpRouteDemo implements HttpRoute {
7 | static final BASE_PATH = "org.clever.graaljs.fast.api.demo.controller";
8 |
9 | @Override
10 | void routing(HttpRouteRegister register) {
11 | register.startClass("${BASE_PATH}.Test01", "/api/hot_reload/test")
12 | .get("/t01", "t01")
13 | .get("/t02", "t02")
14 | .endClass()
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/clever-graaljs-fast-api-demo/src/main/groovy/org/clever/graaljs/fast/api/demo/controller/Test01.groovy:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.fast.api.demo.controller
2 |
3 | import org.clever.graaljs.data.jdbc.builtin.wrap.JdbcDatabase
4 | import org.clever.graaljs.spring.mvc.builtin.adapter.HttpContext
5 |
6 | class Test01 {
7 | static Object t01() {
8 | def map = [a: 111, b: "abc", ok: true]
9 | map.a = 333
10 | return map
11 | }
12 |
13 | static Object t02(HttpContext ctx) {
14 | def request = ctx.request
15 | // 定义请求参数类型
16 | def params = [
17 | branchId: "FDG",
18 | limit : 10
19 | ]
20 | // 填充参数
21 | request.fillFromAny(params, false)
22 | if (params.limit && params.limit > 100) {
23 | params.limit = 100;
24 | }
25 | // Thread.sleep(3_000)
26 | // 查询数据
27 | def ds = JdbcDatabase.Instance.getDefault()
28 | def sql = """
29 | select * from tb_merchandise where BRANCHID=:branchId limit :limit
30 | """
31 | def data = ds.queryList(sql, params);
32 | // def data = ds.queryByPage(sql, request.getQueryByPage(), [branchId: "FDG"], true)
33 | return data
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/clever-graaljs-fast-api-demo/src/main/java/org/clever/graaljs/fast/api/demo/FastApiDemo.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.fast.api.demo;
2 |
3 | import org.clever.graaljs.core.GraalConstant;
4 | import org.springframework.boot.SpringApplication;
5 | import org.springframework.boot.autoconfigure.SpringBootApplication;
6 |
7 | /**
8 | * 作者:lizw
9 | * 创建时间:2021/06/15 23:01
10 | */
11 | @SpringBootApplication
12 | public class FastApiDemo {
13 | public static void main(String[] args) {
14 | System.setProperty(GraalConstant.ENGINE_EXECUTED_LIMIT, "5000");
15 | SpringApplication.run(FastApiDemo.class, args);
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/clever-graaljs-fast-api-demo/src/main/java/org/clever/graaljs/fast/api/demo/engine/MyPutGlobalObjects.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.fast.api.demo.engine;
2 |
3 | import org.clever.graaljs.fast.api.demo.utils.JSUtils;
4 | import org.clever.graaljs.fast.api.plugin.PutGlobalObjects;
5 | import org.springframework.stereotype.Component;
6 |
7 | import java.util.Map;
8 |
9 | /**
10 | * 作者:lizw
11 | * 创建时间:2021/08/25 11:36
12 | */
13 | @Component
14 | public class MyPutGlobalObjects implements PutGlobalObjects {
15 | @Override
16 | public void handle(Map contextMap) {
17 | contextMap.put("JSUtils", JSUtils.Instance);
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/clever-graaljs-fast-api-demo/src/main/java/org/clever/graaljs/fast/api/demo/utils/JSUtils.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.fast.api.demo.utils;
2 |
3 | /**
4 | * 作者:lizw
5 | * 创建时间:2021/08/25 11:37
6 | */
7 | public class JSUtils {
8 | public static final JSUtils Instance = new JSUtils();
9 |
10 | public long freeMemory() {
11 | return Runtime.getRuntime().freeMemory();
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/clever-graaljs-fast-api-demo/src/test/resources/kill-app.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | ProjectName=fast-api-demo
3 |
4 | ### 停止Java进程
5 | java_pid=`ps -ef | grep "DappName=${ProjectName}" | grep -v 'grep' | awk '{print $2}'`
6 | if [ -z $java_pid ];then
7 | echo "$ProjectName 未运行"
8 | else
9 | ps -ef | grep "DappName=${ProjectName}" | grep -v 'grep' | awk '{print $2}' | xargs kill
10 | echo "$ProjectName 已停止!"
11 | fi
12 |
--------------------------------------------------------------------------------
/clever-graaljs-fast-api-demo/src/test/resources/start-app.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | #time=`date +%Y-%m-%d.%H-%M`
3 | ProjectName=fast-api-demo
4 |
5 | ### 启动Java进程
6 | java_pid=`ps -ef | grep "DappName=${ProjectName}" | grep -v 'grep' | awk '{print $2}'`
7 | if [ -z $java_pid ];then
8 | #-------------------------------------------------------------------
9 | JAVA_MEM_OPTS=" -DappName=${ProjectName} -server -Xmx2g -Xms2g"
10 | DATABASE_OPTS=" -Ddatabase.codeset=ISO-8859-1 -Ddatabase.logging=false"
11 | JAVA_OPTS_EXT=" -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -Dapplication.codeset=UTF-8 -Dfile.encoding=UTF-8"
12 | #-------------------------------------------------------------------
13 | java $JAVA_MEM_OPTS $DATABASE_OPTS $JAVA_OPTS_EXT -jar ./fast-api-demo.jar --spring.config.location=./application.yml >/dev/null 2>&1 &
14 | echo "$ProjectName 启动成功!"
15 | else
16 | echo "$ProjectName 正在运行..."
17 | fi
18 |
19 | echo "查看日志: tail -F ./logs/fast-api-demo/fast-api-demo.log -n 100"
20 |
--------------------------------------------------------------------------------
/clever-graaljs-fast-api/src/main/java/org/clever/graaljs/fast/api/autoconfigure/TaskInstanceAutoConfiguration.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.fast.api.autoconfigure;
2 |
3 | import lombok.extern.slf4j.Slf4j;
4 | import org.clever.graaljs.fast.api.config.FastApiConfig;
5 | import org.clever.task.core.TaskInstance;
6 | import org.springframework.boot.CommandLineRunner;
7 | import org.springframework.boot.autoconfigure.AutoConfigureOrder;
8 | import org.springframework.boot.context.properties.EnableConfigurationProperties;
9 | import org.springframework.context.annotation.Configuration;
10 | import org.springframework.core.Ordered;
11 |
12 | /**
13 | * 作者:lizw
14 | * 创建时间:2021/08/21 19:46
15 | */
16 | @AutoConfigureOrder(Ordered.LOWEST_PRECEDENCE)
17 | @EnableConfigurationProperties({FastApiConfig.class})
18 | @Configuration
19 | @Slf4j
20 | public class TaskInstanceAutoConfiguration implements CommandLineRunner {
21 | private final TaskInstance taskInstance;
22 |
23 | public TaskInstanceAutoConfiguration(TaskInstance taskInstance) {
24 | this.taskInstance = taskInstance;
25 | }
26 |
27 | @Override
28 | public void run(String... args) {
29 | taskInstance.start();
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/clever-graaljs-fast-api/src/main/java/org/clever/graaljs/fast/api/config/MultipleJdbcConfig.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.fast.api.config;
2 |
3 | import com.zaxxer.hikari.HikariConfig;
4 | import lombok.Data;
5 | import org.springframework.boot.context.properties.NestedConfigurationProperty;
6 |
7 | import java.util.Collections;
8 | import java.util.Map;
9 |
10 | /**
11 | * 作者:lizw
12 | * 创建时间:2019/09/30 11:47
13 | */
14 | @Data
15 | public class MultipleJdbcConfig {
16 | /**
17 | * 是否禁用MultipleDataSource配置
18 | */
19 | private boolean disable = false;
20 | /**
21 | * 默认的数据源名称
22 | */
23 | private String defaultName = "default";
24 |
25 | /**
26 | * JDBC数据源全局配置
27 | */
28 | @NestedConfigurationProperty
29 | private HikariConfig global = new HikariConfig();
30 |
31 | /**
32 | * JDBC数据源集合(数据源名称 --> 数据源配置)
33 | */
34 | private Map jdbcMap = Collections.emptyMap();
35 | }
--------------------------------------------------------------------------------
/clever-graaljs-fast-api/src/main/java/org/clever/graaljs/fast/api/config/MultipleRedisConfig.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.fast.api.config;
2 |
3 | import lombok.Data;
4 | import org.springframework.boot.autoconfigure.data.redis.RedisProperties;
5 | import org.springframework.boot.context.properties.NestedConfigurationProperty;
6 |
7 | import java.util.Collections;
8 | import java.util.Map;
9 |
10 | /**
11 | * 作者:lizw
12 | * 创建时间:2020/11/16 21:21
13 | */
14 | @Data
15 | public class MultipleRedisConfig {
16 | /**
17 | * 是否禁用MultipleRedis配置
18 | */
19 | private boolean disable = false;
20 | /**
21 | * 默认的数据源名称
22 | */
23 | private String defaultName = "default";
24 |
25 | /**
26 | * Redis全局配置
27 | */
28 | @NestedConfigurationProperty
29 | private RedisProperties global = new RedisProperties();
30 |
31 | /**
32 | * Redis数据源集合(数据源名称 --> 数据源配置)
33 | */
34 | private Map redisMap = Collections.emptyMap();
35 | }
36 |
--------------------------------------------------------------------------------
/clever-graaljs-fast-api/src/main/java/org/clever/graaljs/fast/api/config/MvcConfig.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.fast.api.config;
2 |
3 | import lombok.Data;
4 | import org.apache.commons.lang3.StringUtils;
5 | import org.clever.graaljs.spring.mvc.ScriptHandlerCorsConfig;
6 | import org.springframework.boot.context.properties.NestedConfigurationProperty;
7 |
8 | import java.io.Serializable;
9 |
10 | /**
11 | * mvc配置
12 | *
13 | * 作者:lizw
14 | * 创建时间:2020/09/11 19:10
15 | */
16 | @Data
17 | public class MvcConfig implements Serializable {
18 | /**
19 | * 支持的请求前缀
20 | */
21 | private String prefix = StringUtils.EMPTY;
22 | /**
23 | * 跨域配置
24 | */
25 | @NestedConfigurationProperty
26 | private ScriptHandlerCorsConfig cors = new ScriptHandlerCorsConfig();
27 | }
28 |
--------------------------------------------------------------------------------
/clever-graaljs-fast-api/src/main/java/org/clever/graaljs/fast/api/controller/ExtendFileManageController.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.fast.api.controller;
2 |
3 | import org.clever.graaljs.core.utils.tree.SimpleTreeNode;
4 | import org.clever.graaljs.fast.api.dto.response.FileResourceTreeNodeRes;
5 | import org.clever.graaljs.fast.api.entity.FileResource;
6 | import org.clever.graaljs.fast.api.service.ExtendFileManageService;
7 | import org.springframework.web.bind.annotation.GetMapping;
8 | import org.springframework.web.bind.annotation.RequestMapping;
9 | import org.springframework.web.bind.annotation.RestController;
10 |
11 | import javax.annotation.Resource;
12 | import java.util.List;
13 |
14 | /**
15 | * 作者:lizw
16 | * 创建时间:2021/06/28 16:51
17 | */
18 | @RequestMapping("/fast_api/extend_file_manage")
19 | @RestController
20 | public class ExtendFileManageController {
21 | @Resource
22 | private ExtendFileManageService extendFileManageService;
23 |
24 | @GetMapping("/extend_tree")
25 | public List> getExtendTree() {
26 | return extendFileManageService.getExtendTree();
27 | }
28 |
29 | @GetMapping("/extend_file_list")
30 | public List getExtendFileList() {
31 | return extendFileManageService.getExtendFileList();
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/clever-graaljs-fast-api/src/main/java/org/clever/graaljs/fast/api/controller/IndexPageController.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.fast.api.controller;
2 |
3 | import org.springframework.stereotype.Controller;
4 | import org.springframework.web.bind.annotation.GetMapping;
5 |
6 | /**
7 | * 作者:lizw
8 | * 创建时间:2021/07/13 21:28
9 | */
10 | @Controller
11 | public class IndexPageController {
12 |
13 | @GetMapping("/fast-api.html")
14 | public String indexPage() {
15 | // noinspection SpringMVCViewInspection
16 | return "/webjars/fast-api/index.html";
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/clever-graaljs-fast-api/src/main/java/org/clever/graaljs/fast/api/controller/ResourceFileManageController.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.fast.api.controller;
2 |
3 | import org.clever.graaljs.core.utils.tree.SimpleTreeNode;
4 | import org.clever.graaljs.fast.api.dto.response.FileResourceTreeNodeRes;
5 | import org.clever.graaljs.fast.api.service.ResourceFileManageService;
6 | import org.springframework.web.bind.annotation.GetMapping;
7 | import org.springframework.web.bind.annotation.RequestMapping;
8 | import org.springframework.web.bind.annotation.RequestParam;
9 | import org.springframework.web.bind.annotation.RestController;
10 |
11 | import javax.annotation.Resource;
12 | import java.util.List;
13 |
14 | /**
15 | * 作者:lizw
16 | * 创建时间:2021/06/28 16:50
17 | */
18 | @RequestMapping("/fast_api/resource_file_manage")
19 | @RestController
20 | public class ResourceFileManageController {
21 | @Resource
22 | private ResourceFileManageService resourceFileManageService;
23 |
24 | @GetMapping("/file_tree")
25 | public List> getFileTree(@RequestParam("module") Integer module) {
26 | return resourceFileManageService.getFileTree(module);
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/clever-graaljs-fast-api/src/main/java/org/clever/graaljs/fast/api/dto/request/AddDirReq.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.fast.api.dto.request;
2 |
3 | import lombok.Data;
4 | import org.clever.graaljs.fast.api.entity.EnumConstant;
5 | import org.clever.graaljs.spring.core.utils.validator.annotation.ValidIntegerStatus;
6 |
7 | import javax.validation.constraints.NotBlank;
8 | import javax.validation.constraints.NotNull;
9 | import javax.validation.constraints.Pattern;
10 | import java.io.Serializable;
11 |
12 | /**
13 | * 作者:lizw
14 | * 创建时间:2021/06/29 22:17
15 | */
16 | @Data
17 | public class AddDirReq implements Serializable {
18 | /**
19 | * 所属模块:0-自定义扩展,1-资源文件,2-初始化脚本,3-HTTP API,4-定时任务
20 | */
21 | @NotNull
22 | @ValidIntegerStatus(value = {EnumConstant.MODULE_0, EnumConstant.MODULE_1, EnumConstant.MODULE_2, EnumConstant.MODULE_3, EnumConstant.MODULE_4})
23 | private Integer module;
24 | /**
25 | * 文件夹全路径
26 | */
27 | @Pattern(regexp = "^(/[a-zA-Z0-9\\u4e00-\\u9fa5_-]+)+/?$")
28 | @NotBlank
29 | private String fullPath;
30 | }
31 |
--------------------------------------------------------------------------------
/clever-graaljs-fast-api/src/main/java/org/clever/graaljs/fast/api/dto/request/AddHttpApiDebugReq.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.fast.api.dto.request;
2 |
3 | import lombok.Data;
4 | import org.clever.graaljs.fast.api.model.DebugRequestData;
5 |
6 | import javax.validation.constraints.NotBlank;
7 | import javax.validation.constraints.NotNull;
8 | import java.io.Serializable;
9 |
10 | /**
11 | * 作者:lizw
12 | * 创建时间:2021/07/05 11:30
13 | */
14 | @Data
15 | public class AddHttpApiDebugReq implements Serializable {
16 | /**
17 | * HTTP接口id
18 | */
19 | @NotNull
20 | private Long httpApiId;
21 |
22 | /**
23 | * 标题
24 | */
25 | @NotBlank
26 | private String title;
27 |
28 | /**
29 | * 请求数据
30 | */
31 | private DebugRequestData requestData;
32 | }
33 |
--------------------------------------------------------------------------------
/clever-graaljs-fast-api/src/main/java/org/clever/graaljs/fast/api/dto/request/AddHttpGlobalRequestDataReq.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.fast.api.dto.request;
2 |
3 | import lombok.Data;
4 | import org.clever.graaljs.fast.api.model.DebugRequestData;
5 |
6 | import javax.validation.constraints.NotBlank;
7 | import javax.validation.constraints.NotNull;
8 | import java.io.Serializable;
9 | import java.util.ArrayList;
10 | import java.util.List;
11 |
12 | /**
13 | * 作者:lizw
14 | * 创建时间:2021/07/10 21:40
15 | */
16 | @Data
17 | public class AddHttpGlobalRequestDataReq implements Serializable {
18 | private Long id;
19 |
20 | @NotBlank
21 | private String title;
22 |
23 | @NotNull
24 | private List params = new ArrayList<>();
25 |
26 | @NotNull
27 | private List headers = new ArrayList<>();
28 |
29 | @NotNull
30 | private List cookies = new ArrayList<>();
31 | }
32 |
--------------------------------------------------------------------------------
/clever-graaljs-fast-api/src/main/java/org/clever/graaljs/fast/api/dto/request/AddJdbcReq.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.fast.api.dto.request;
2 |
3 | import lombok.Data;
4 | import org.clever.graaljs.data.jdbc.builtin.wrap.support.JdbcConfig;
5 |
6 | import javax.validation.constraints.NotBlank;
7 | import javax.validation.constraints.NotNull;
8 | import java.io.Serializable;
9 |
10 | /**
11 | * 作者:lizw
12 | * 创建时间:2021/07/07 17:49
13 | */
14 | @Data
15 | public class AddJdbcReq implements Serializable {
16 | @NotBlank
17 | private String name;
18 |
19 | @NotNull
20 | private JdbcConfig jdbcConfig;
21 | }
22 |
--------------------------------------------------------------------------------
/clever-graaljs-fast-api/src/main/java/org/clever/graaljs/fast/api/dto/request/AddRedisReq.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.fast.api.dto.request;
2 |
3 | import lombok.Data;
4 | import org.clever.graaljs.data.redis.builtin.wrap.support.RedisConfig;
5 |
6 | import javax.validation.constraints.NotBlank;
7 | import javax.validation.constraints.NotNull;
8 | import java.io.Serializable;
9 |
10 | /**
11 | * 作者:lizw
12 | * 创建时间:2021/07/08 11:42
13 | */
14 | @Data
15 | public class AddRedisReq implements Serializable {
16 | @NotBlank
17 | private String name;
18 |
19 | @NotNull
20 | private RedisConfig redisConfig;
21 | }
22 |
--------------------------------------------------------------------------------
/clever-graaljs-fast-api/src/main/java/org/clever/graaljs/fast/api/dto/request/DebugApiReq.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.fast.api.dto.request;
2 |
3 | import lombok.Data;
4 |
5 | import java.io.Serializable;
6 |
7 | /**
8 | * 作者:lizw
9 | * 创建时间:2021/09/01 15:08
10 | */
11 | @Data
12 | public class DebugApiReq implements Serializable {
13 | /**
14 | * debug id
15 | */
16 | private String apiDebugId;
17 | }
18 |
--------------------------------------------------------------------------------
/clever-graaljs-fast-api/src/main/java/org/clever/graaljs/fast/api/dto/request/FileRenameReq.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.fast.api.dto.request;
2 |
3 | import lombok.Data;
4 |
5 | import javax.validation.constraints.NotBlank;
6 | import javax.validation.constraints.NotNull;
7 | import javax.validation.constraints.Pattern;
8 | import java.io.Serializable;
9 |
10 | /**
11 | * 作者:lizw
12 | * 创建时间:2021/07/01 09:51
13 | */
14 | @Data
15 | public class FileRenameReq implements Serializable {
16 | @NotNull
17 | private Long id;
18 |
19 | @Pattern(regexp = "^[a-zA-Z0-9\\u4e00-\\u9fa5_.-]+$")
20 | @NotBlank
21 | private String newName;
22 | }
23 |
--------------------------------------------------------------------------------
/clever-graaljs-fast-api/src/main/java/org/clever/graaljs/fast/api/dto/request/RunJsReq.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.fast.api.dto.request;
2 |
3 | import lombok.Data;
4 |
5 | import java.io.Serializable;
6 |
7 | /**
8 | * 作者:lizw
9 | * 创建时间:2021/08/24 16:43
10 | */
11 | @Data
12 | public class RunJsReq implements Serializable {
13 | /**
14 | * js文件ID
15 | */
16 | private Long fileResourceId;
17 | }
18 |
--------------------------------------------------------------------------------
/clever-graaljs-fast-api/src/main/java/org/clever/graaljs/fast/api/dto/request/SaveFileContentReq.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.fast.api.dto.request;
2 |
3 | import lombok.Data;
4 |
5 | import javax.validation.constraints.NotNull;
6 | import java.io.Serializable;
7 |
8 | /**
9 | * 作者:lizw
10 | * 创建时间:2021/06/27 20:13
11 | */
12 | @Data
13 | public class SaveFileContentReq implements Serializable {
14 | /**
15 | * 主键id
16 | */
17 | @NotNull
18 | private Long id;
19 | /**
20 | * 文件内容
21 | */
22 | private String content;
23 | }
24 |
--------------------------------------------------------------------------------
/clever-graaljs-fast-api/src/main/java/org/clever/graaljs/fast/api/dto/request/UpdateHttpApiDebugReq.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.fast.api.dto.request;
2 |
3 | import lombok.Data;
4 | import org.clever.graaljs.fast.api.model.DebugRequestData;
5 |
6 | import javax.validation.constraints.NotBlank;
7 | import javax.validation.constraints.NotNull;
8 | import java.io.Serializable;
9 |
10 | /**
11 | * 作者:lizw
12 | * 创建时间:2021/07/05 11:37
13 | */
14 | @Data
15 | public class UpdateHttpApiDebugReq implements Serializable {
16 | @NotNull
17 | private Long id;
18 |
19 | /**
20 | * 标题
21 | */
22 | @NotBlank
23 | private String title;
24 |
25 | /**
26 | * 请求数据
27 | */
28 | @NotNull
29 | private DebugRequestData requestData;
30 | }
31 |
--------------------------------------------------------------------------------
/clever-graaljs-fast-api/src/main/java/org/clever/graaljs/fast/api/dto/request/UpdateJdbcReq.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.fast.api.dto.request;
2 |
3 | import lombok.Data;
4 | import org.clever.graaljs.data.jdbc.builtin.wrap.support.JdbcConfig;
5 |
6 | import javax.validation.constraints.NotBlank;
7 | import javax.validation.constraints.NotNull;
8 | import java.io.Serializable;
9 |
10 | /**
11 | * 作者:lizw
12 | * 创建时间:2021/07/07 22:19
13 | */
14 | @Data
15 | public class UpdateJdbcReq implements Serializable {
16 | @NotBlank
17 | private String name;
18 |
19 | @NotNull
20 | private JdbcConfig jdbcConfig;
21 | }
22 |
--------------------------------------------------------------------------------
/clever-graaljs-fast-api/src/main/java/org/clever/graaljs/fast/api/dto/request/UpdateRedisReq.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.fast.api.dto.request;
2 |
3 | import lombok.Data;
4 | import org.clever.graaljs.data.redis.builtin.wrap.support.RedisConfig;
5 |
6 | import javax.validation.constraints.NotBlank;
7 | import javax.validation.constraints.NotNull;
8 | import java.io.Serializable;
9 |
10 | /**
11 | * 作者:lizw
12 | * 创建时间:2021/07/08 12:48
13 | */
14 | @Data
15 | public class UpdateRedisReq implements Serializable {
16 | @NotBlank
17 | private String name;
18 |
19 | @NotNull
20 | private RedisConfig redisConfig;
21 | }
22 |
--------------------------------------------------------------------------------
/clever-graaljs-fast-api/src/main/java/org/clever/graaljs/fast/api/dto/response/AddHttpApiRes.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.fast.api.dto.response;
2 |
3 | import lombok.Data;
4 | import org.clever.graaljs.fast.api.entity.FileResource;
5 | import org.clever.graaljs.fast.api.entity.HttpApi;
6 |
7 | import java.io.Serializable;
8 | import java.util.ArrayList;
9 | import java.util.List;
10 |
11 | /**
12 | * 作者:lizw
13 | * 创建时间:2021/06/30 14:51
14 | */
15 | @Data
16 | public class AddHttpApiRes implements Serializable {
17 | private List fileList = new ArrayList<>();
18 |
19 | private HttpApi httpApi;
20 | }
21 |
--------------------------------------------------------------------------------
/clever-graaljs-fast-api/src/main/java/org/clever/graaljs/fast/api/dto/response/AddJsJobRes.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.fast.api.dto.response;
2 |
3 | import lombok.Data;
4 | import org.clever.graaljs.fast.api.entity.FileResource;
5 | import org.clever.task.core.entity.Job;
6 | import org.clever.task.core.entity.JobTrigger;
7 |
8 | import java.io.Serializable;
9 | import java.util.ArrayList;
10 | import java.util.List;
11 |
12 | /**
13 | * 作者:lizw
14 | * 创建时间:2021/08/22 14:28
15 | */
16 | @Data
17 | public class AddJsJobRes implements Serializable {
18 | private List fileList = new ArrayList<>();
19 |
20 | private Job job;
21 |
22 | private JobTrigger jobTrigger;
23 | }
24 |
--------------------------------------------------------------------------------
/clever-graaljs-fast-api/src/main/java/org/clever/graaljs/fast/api/dto/response/ApiFileResourceRes.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.fast.api.dto.response;
2 |
3 | import lombok.Data;
4 |
5 | import java.io.Serializable;
6 |
7 | /**
8 | * 作者:lizw
9 | * 创建时间:2021/06/23 21:26
10 | */
11 | @Data
12 | public class ApiFileResourceRes implements Serializable {
13 | /**
14 | * HTTP接口id
15 | */
16 | private Long httpApiId;
17 | /**
18 | * 资源文件id
19 | */
20 | private Long fileResourceId;
21 | /**
22 | * 父级编号(资源文件id)
23 | */
24 | private Long parentFileResourceId;
25 | /**
26 | * 命名空间
27 | */
28 | private String namespace;
29 | /**
30 | * 文件路径(以"/"结束)
31 | */
32 | private String path;
33 | /**
34 | * 文件名称
35 | */
36 | private String name;
37 | /**
38 | * 数据类型:0-文件夹,1-文件
39 | */
40 | private Integer isFile;
41 | /**
42 | * 读写权限:0-可读可写,1-只读
43 | */
44 | private Integer readOnly;
45 | /**
46 | * http请求路径
47 | */
48 | private String requestMapping;
49 | /**
50 | * http请求method,ALL GET HEAD POST PUT DELETE CONNECT OPTIONS TRACE PATCH
51 | */
52 | private String requestMethod;
53 | /**
54 | * 禁用http请求:0-启用,1-禁用
55 | */
56 | private Integer disableRequest;
57 | }
58 |
--------------------------------------------------------------------------------
/clever-graaljs-fast-api/src/main/java/org/clever/graaljs/fast/api/dto/response/DelHttpApiRes.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.fast.api.dto.response;
2 |
3 | import lombok.Data;
4 | import org.clever.graaljs.fast.api.entity.FileResource;
5 | import org.clever.graaljs.fast.api.entity.HttpApi;
6 |
7 | import java.io.Serializable;
8 | import java.util.ArrayList;
9 | import java.util.List;
10 |
11 | /**
12 | * 作者:lizw
13 | * 创建时间:2021/06/30 20:03
14 | */
15 | @Data
16 | public class DelHttpApiRes implements Serializable {
17 | private List fileList = new ArrayList<>();
18 |
19 | private List httpApiList = new ArrayList<>();
20 | }
21 |
--------------------------------------------------------------------------------
/clever-graaljs-fast-api/src/main/java/org/clever/graaljs/fast/api/dto/response/DelJsJobRes.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.fast.api.dto.response;
2 |
3 | import lombok.Data;
4 | import org.clever.graaljs.fast.api.entity.FileResource;
5 |
6 | import java.io.Serializable;
7 | import java.util.List;
8 |
9 | /**
10 | * 作者:lizw
11 | * 创建时间:2021/08/22 14:30
12 | */
13 | @Data
14 | public class DelJsJobRes implements Serializable {
15 | List fileList;
16 | }
17 |
--------------------------------------------------------------------------------
/clever-graaljs-fast-api/src/main/java/org/clever/graaljs/fast/api/dto/response/FileResourceTreeNodeRes.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.fast.api.dto.response;
2 |
3 | import lombok.Data;
4 |
5 | import java.io.Serializable;
6 |
7 | /**
8 | * 作者:lizw
9 | * 创建时间:2021/06/28 17:18
10 | */
11 | @Data
12 | public class FileResourceTreeNodeRes implements Serializable {
13 | /**
14 | * 主键id
15 | */
16 | private Long id;
17 |
18 | /**
19 | * 父级编号(资源文件id)
20 | */
21 | private Long parentFileResourceId;
22 |
23 | /**
24 | * 命名空间
25 | */
26 | private String namespace;
27 |
28 | /**
29 | * 所属模块:0-自定义扩展,1-资源文件,2-初始化脚本,3-HTTP API,4-定时任务
30 | */
31 | private Integer module;
32 |
33 | /**
34 | * 文件路径(以"/"结束)
35 | */
36 | private String path;
37 |
38 | /**
39 | * 文件名称
40 | */
41 | private String name;
42 |
43 | /**
44 | * 数据类型:0-文件夹,1-文件
45 | */
46 | private Integer isFile;
47 |
48 | /**
49 | * 读写权限:0-可读可写,1-只读
50 | */
51 | private Integer readOnly;
52 | }
53 |
--------------------------------------------------------------------------------
/clever-graaljs-fast-api/src/main/java/org/clever/graaljs/fast/api/dto/response/HttpApiDebugRes.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.fast.api.dto.response;
2 |
3 | import lombok.Data;
4 | import org.clever.graaljs.fast.api.model.DebugRequestData;
5 |
6 | import java.io.Serializable;
7 | import java.util.Date;
8 |
9 | /**
10 | * 作者:lizw
11 | * 创建时间:2021/07/05 11:17
12 | */
13 | @Data
14 | public class HttpApiDebugRes implements Serializable {
15 | /**
16 | * 主键id
17 | */
18 | private Long id;
19 |
20 | /**
21 | * 命名空间
22 | */
23 | private String namespace;
24 |
25 | /**
26 | * HTTP接口id
27 | */
28 | private Long httpApiId;
29 |
30 | /**
31 | * 标题
32 | */
33 | private String title;
34 |
35 | /**
36 | * 请求数据
37 | */
38 | private DebugRequestData requestData;
39 |
40 | /**
41 | * 创建时间
42 | */
43 | private Date createAt;
44 |
45 | /**
46 | * 更新时间
47 | */
48 | private Date updateAt;
49 | }
50 |
--------------------------------------------------------------------------------
/clever-graaljs-fast-api/src/main/java/org/clever/graaljs/fast/api/dto/response/HttpApiDebugTitleRes.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.fast.api.dto.response;
2 |
3 | import lombok.Data;
4 |
5 | import java.io.Serializable;
6 |
7 | /**
8 | * 作者:lizw
9 | * 创建时间:2021/07/05 10:47
10 | */
11 | @Data
12 | public class HttpApiDebugTitleRes implements Serializable {
13 | /**
14 | * 主键id
15 | */
16 | private Long id;
17 |
18 | /**
19 | * HTTP接口id
20 | */
21 | private Long httpApiId;
22 |
23 | /**
24 | * 标题
25 | */
26 | private String title;
27 | }
28 |
--------------------------------------------------------------------------------
/clever-graaljs-fast-api/src/main/java/org/clever/graaljs/fast/api/dto/response/HttpApiFileResourceRes.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.fast.api.dto.response;
2 |
3 | import lombok.Data;
4 | import org.clever.graaljs.fast.api.entity.FileResource;
5 | import org.clever.graaljs.fast.api.entity.HttpApi;
6 |
7 | import java.io.Serializable;
8 |
9 | /**
10 | * 作者:lizw
11 | * 创建时间:2021/06/26 21:50
12 | */
13 | @Data
14 | public class HttpApiFileResourceRes implements Serializable {
15 | private FileResource fileResource;
16 |
17 | private HttpApi httpApi;
18 | }
19 |
--------------------------------------------------------------------------------
/clever-graaljs-fast-api/src/main/java/org/clever/graaljs/fast/api/dto/response/HttpGlobalRequestDataRes.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.fast.api.dto.response;
2 |
3 | import lombok.Data;
4 | import org.clever.graaljs.fast.api.model.DebugRequestData;
5 |
6 | import java.io.Serializable;
7 | import java.util.ArrayList;
8 | import java.util.List;
9 |
10 | /**
11 | * 作者:lizw
12 | * 创建时间:2021/07/10 21:29
13 | */
14 | @Data
15 | public class HttpGlobalRequestDataRes implements Serializable {
16 | private Long id;
17 |
18 | private String title;
19 |
20 | private List params = new ArrayList<>();
21 |
22 | private List headers = new ArrayList<>();
23 |
24 | private List cookies = new ArrayList<>();
25 | }
26 |
--------------------------------------------------------------------------------
/clever-graaljs-fast-api/src/main/java/org/clever/graaljs/fast/api/dto/response/JdbcInfoRes.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.fast.api.dto.response;
2 |
3 | import lombok.Data;
4 | import org.clever.graaljs.data.jdbc.support.JdbcDataSourceStatus;
5 | import org.clever.graaljs.data.jdbc.support.JdbcInfo;
6 | import org.clever.graaljs.fast.api.entity.DataSourceConfig;
7 |
8 | import java.io.Serializable;
9 |
10 | /**
11 | * 作者:lizw
12 | * 创建时间:2021/07/07 15:58
13 | */
14 | @Data
15 | public class JdbcInfoRes implements Serializable {
16 | private String name;
17 |
18 | private boolean def = false;
19 |
20 | private boolean immutable = false;
21 |
22 | private JdbcInfo jdbcInfo;
23 |
24 | private JdbcDataSourceStatus status;
25 |
26 | private DataSourceConfig dataSourceConfig;
27 | }
28 |
--------------------------------------------------------------------------------
/clever-graaljs-fast-api/src/main/java/org/clever/graaljs/fast/api/dto/response/JsJobInfoRes.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.fast.api.dto.response;
2 |
3 | import lombok.Data;
4 | import org.clever.graaljs.fast.api.entity.FileResource;
5 | import org.clever.task.core.entity.Job;
6 | import org.clever.task.core.entity.JobTrigger;
7 |
8 | import java.io.Serializable;
9 |
10 | /**
11 | * 作者:lizw
12 | * 创建时间:2021/08/21 21:53
13 | */
14 | @Data
15 | public class JsJobInfoRes implements Serializable {
16 | private FileResource fileResource;
17 |
18 | private Job job;
19 |
20 | private JobTrigger jobTrigger;
21 | }
22 |
--------------------------------------------------------------------------------
/clever-graaljs-fast-api/src/main/java/org/clever/graaljs/fast/api/dto/response/RedisInfoRes.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.fast.api.dto.response;
2 |
3 | import lombok.Data;
4 | import org.clever.graaljs.data.redis.support.RedisDataSourceStatus;
5 | import org.clever.graaljs.data.redis.support.RedisInfo;
6 | import org.clever.graaljs.fast.api.entity.DataSourceConfig;
7 |
8 | import java.io.Serializable;
9 |
10 | /**
11 | * 作者:lizw
12 | * 创建时间:2021/07/08 10:11
13 | */
14 | @Data
15 | public class RedisInfoRes implements Serializable {
16 | private String name;
17 |
18 | private boolean def = false;
19 |
20 | private boolean immutable = false;
21 |
22 | private RedisInfo redisInfo;
23 |
24 | private RedisDataSourceStatus status;
25 |
26 | private DataSourceConfig dataSourceConfig;
27 | }
28 |
--------------------------------------------------------------------------------
/clever-graaljs-fast-api/src/main/java/org/clever/graaljs/fast/api/dto/response/WebSocketErrorRes.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.fast.api.dto.response;
2 |
3 | import lombok.Data;
4 |
5 | import java.io.Serializable;
6 |
7 | /**
8 | * 作者:lizw
9 | * 创建时间:2021/08/24 19:45
10 | */
11 | @Data
12 | public class WebSocketErrorRes implements Serializable {
13 | private String errorStackTrace;
14 | }
15 |
--------------------------------------------------------------------------------
/clever-graaljs-fast-api/src/main/java/org/clever/graaljs/fast/api/entity/DataSourceConfig.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.fast.api.entity;
2 |
3 | import lombok.Data;
4 |
5 | import java.io.Serializable;
6 | import java.util.Date;
7 |
8 | /**
9 | * 数据源配置(DataSourceConfig)实体类
10 | *
11 | * @author lizw
12 | * @since 2021-06-13 22:19:32
13 | */
14 | @Data
15 | public class DataSourceConfig implements Serializable {
16 | private static final long serialVersionUID = 355215508809274177L;
17 | /**
18 | * 主键id
19 | */
20 | private Long id;
21 |
22 | /**
23 | * 命名空间
24 | */
25 | private String namespace;
26 |
27 | /**
28 | * 数据源类型,jdbc redis rabbitmq rocketmq kafka elasticsearch ...
29 | */
30 | private String type;
31 |
32 | /**
33 | * 数据源名称
34 | */
35 | private String name;
36 |
37 | /**
38 | * 数据源配置
39 | */
40 | private String config;
41 |
42 | /**
43 | * 禁用:0-启用,1-禁用
44 | */
45 | private Integer disable;
46 |
47 | /**
48 | * 创建时间
49 | */
50 | private Date createAt;
51 |
52 | /**
53 | * 更新时间
54 | */
55 | private Date updateAt;
56 | }
57 |
--------------------------------------------------------------------------------
/clever-graaljs-fast-api/src/main/java/org/clever/graaljs/fast/api/entity/FileResourceHistory.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.fast.api.entity;
2 |
3 | import lombok.Data;
4 |
5 | import java.io.Serializable;
6 | import java.util.Date;
7 |
8 | /**
9 | * 资源文件修改历史(FileResourceHistory)实体类
10 | *
11 | * @author lizw
12 | * @since 2021-06-13 22:19:31
13 | */
14 | @Data
15 | public class FileResourceHistory implements Serializable {
16 | private static final long serialVersionUID = 680887980020700046L;
17 | /**
18 | * 主键id
19 | */
20 | private Long id;
21 |
22 | /**
23 | * 命名空间
24 | */
25 | private String namespace;
26 |
27 | /**
28 | * 所属模块:0-自定义扩展,1-资源文件,2-初始化脚本,3-HTTP API,4-定时任务
29 | */
30 | private Integer module;
31 |
32 | /**
33 | * 资源文件id
34 | */
35 | private Long fileResourceId;
36 |
37 | /**
38 | * 文件路径(以"/"结束)
39 | */
40 | private String path;
41 |
42 | /**
43 | * 文件名称
44 | */
45 | private String name;
46 |
47 | /**
48 | * 文件内容
49 | */
50 | private String content;
51 |
52 | /**
53 | * 创建时间
54 | */
55 | private Date createAt;
56 | }
57 |
--------------------------------------------------------------------------------
/clever-graaljs-fast-api/src/main/java/org/clever/graaljs/fast/api/entity/HttpApi.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.fast.api.entity;
2 |
3 | import lombok.Data;
4 |
5 | import java.io.Serializable;
6 | import java.util.Date;
7 |
8 | /**
9 | * HTTP接口(HttpApi)实体类
10 | *
11 | * @author lizw
12 | * @since 2021-06-13 22:19:31
13 | */
14 | @Data
15 | public class HttpApi implements Serializable {
16 | private static final long serialVersionUID = -27928456215062624L;
17 | /**
18 | * 主键id
19 | */
20 | private Long id;
21 |
22 | /**
23 | * 命名空间
24 | */
25 | private String namespace;
26 |
27 | /**
28 | * 资源文件id
29 | */
30 | private Long fileResourceId;
31 |
32 | /**
33 | * http请求路径
34 | */
35 | private String requestMapping;
36 |
37 | /**
38 | * http请求method,ALL GET HEAD POST PUT DELETE CONNECT OPTIONS TRACE PATCH
39 | */
40 | private String requestMethod;
41 |
42 | /**
43 | * 禁用http请求:0-启用,1-禁用
44 | */
45 | private Integer disableRequest;
46 |
47 | /**
48 | * 创建时间
49 | */
50 | private Date createAt;
51 |
52 | /**
53 | * 更新时间
54 | */
55 | private Date updateAt;
56 | }
57 |
--------------------------------------------------------------------------------
/clever-graaljs-fast-api/src/main/java/org/clever/graaljs/fast/api/entity/HttpApiDebug.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.fast.api.entity;
2 |
3 | import java.util.Date;
4 | import java.io.Serializable;
5 |
6 | import lombok.Data;
7 |
8 | /**
9 | * HTTP接口(HttpApiDebug)实体类
10 | *
11 | * @author lizw
12 | * @since 2021-07-05 10:26:09
13 | */
14 | @Data
15 | public class HttpApiDebug implements Serializable {
16 | private static final long serialVersionUID = -72186229447100658L;
17 | /**
18 | * 主键id
19 | */
20 | private Long id;
21 |
22 | /**
23 | * 命名空间
24 | */
25 | private String namespace;
26 |
27 | /**
28 | * HTTP接口id
29 | */
30 | private Long httpApiId;
31 |
32 | /**
33 | * 标题
34 | */
35 | private String title;
36 |
37 | /**
38 | * 请求数据json格式
39 | */
40 | private String requestData;
41 |
42 | /**
43 | * 创建时间
44 | */
45 | private Date createAt;
46 |
47 | /**
48 | * 更新时间
49 | */
50 | private Date updateAt;
51 |
52 | }
53 |
--------------------------------------------------------------------------------
/clever-graaljs-fast-api/src/main/java/org/clever/graaljs/fast/api/entity/HttpGlobalRequestData.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.fast.api.entity;
2 |
3 | import lombok.Data;
4 |
5 | import java.io.Serializable;
6 | import java.util.Date;
7 |
8 | /**
9 | * HTTP全局请求数据(HttpGlobalRequestData)实体类
10 | *
11 | * @author lizw
12 | * @since 2021-07-10 21:25:19
13 | */
14 | @Data
15 | public class HttpGlobalRequestData implements Serializable {
16 | private static final long serialVersionUID = -11130688106753599L;
17 | /**
18 | * 主键id
19 | */
20 | private Long id;
21 |
22 | /**
23 | * 命名空间
24 | */
25 | private String namespace;
26 |
27 | /**
28 | * 标题
29 | */
30 | private String title;
31 |
32 | /**
33 | * 请求数据json格式
34 | */
35 | private String requestData;
36 |
37 | /**
38 | * 创建时间
39 | */
40 | private Date createAt;
41 |
42 | /**
43 | * 更新时间
44 | */
45 | private Date updateAt;
46 | }
47 |
--------------------------------------------------------------------------------
/clever-graaljs-fast-api/src/main/java/org/clever/graaljs/fast/api/model/DebugRequestData.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.fast.api.model;
2 |
3 | import lombok.Data;
4 |
5 | import java.io.Serializable;
6 | import java.util.ArrayList;
7 | import java.util.List;
8 |
9 | /**
10 | * 作者:lizw
11 | * 创建时间:2021/07/05 11:12
12 | */
13 | @Data
14 | public class DebugRequestData implements Serializable {
15 | private String method = "GET";
16 | private String path = "/";
17 | private List params = new ArrayList<>();
18 | private List headers = new ArrayList<>();
19 | private String bodyType = "None";
20 | private String jsonBody = "";
21 | private List formBody = new ArrayList<>();
22 |
23 | @Data
24 | public static class FormItem implements Serializable {
25 | private String type;
26 | private String key;
27 | private String value;
28 | }
29 |
30 | @Data
31 | public static class RequestItem implements Serializable {
32 | private String key;
33 | private String value;
34 | private String description;
35 | private boolean selected;
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/clever-graaljs-fast-api/src/main/java/org/clever/graaljs/fast/api/model/FastApiGlobalEnv.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.fast.api.model;
2 |
3 | import lombok.Data;
4 |
5 | import java.io.Serializable;
6 |
7 | /**
8 | * 作者:lizw
9 | * 创建时间:2021/07/05 13:35
10 | */
11 | @Data
12 | public class FastApiGlobalEnv implements Serializable {
13 | /**
14 | * Fast-Api版本
15 | */
16 | private String version;
17 | /**
18 | * 当前的命名空间
19 | */
20 | private String namespace;
21 | /**
22 | * 接口请求前缀
23 | */
24 | private String apiPrefix;
25 | }
26 |
--------------------------------------------------------------------------------
/clever-graaljs-fast-api/src/main/java/org/clever/graaljs/fast/api/model/HttpApiFileResource.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.fast.api.model;
2 |
3 | import lombok.Data;
4 |
5 | import java.io.Serializable;
6 | import java.util.Date;
7 |
8 | /**
9 | * 作者:lizw
10 | * 创建时间:2021/06/14 12:05
11 | */
12 | @Data
13 | public class HttpApiFileResource implements Serializable {
14 | /**
15 | * HttpApi主键id
16 | */
17 | private Long httpApiId;
18 | /**
19 | * FileResource主键id
20 | */
21 | private Long fileResourceId;
22 | /**
23 | * 命名空间
24 | */
25 | private String namespace;
26 | /**
27 | * http请求路径
28 | */
29 | private String requestMapping;
30 | /**
31 | * http请求method,ALL GET HEAD POST PUT DELETE CONNECT OPTIONS TRACE PATCH
32 | */
33 | private String requestMethod;
34 | /**
35 | * 禁用http请求:0-启用,1-禁用
36 | */
37 | private Integer disableRequest;
38 | /**
39 | * 文件路径(以"/"结束)
40 | */
41 | private String path;
42 | /**
43 | * 文件名称
44 | */
45 | private String name;
46 | /**
47 | * 文件内容
48 | */
49 | private String content;
50 | /**
51 | * 最后修改时间
52 | */
53 | private Date lastModifiedTime;
54 | }
55 |
--------------------------------------------------------------------------------
/clever-graaljs-fast-api/src/main/java/org/clever/graaljs/fast/api/model/MapperFileResource.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.fast.api.model;
2 |
3 | import lombok.Data;
4 |
5 | import java.io.Serializable;
6 | import java.util.Date;
7 |
8 | /**
9 | * 作者:lizw
10 | * 创建时间:2021/06/15 22:29
11 | */
12 | @Data
13 | public class MapperFileResource implements Serializable {
14 | /**
15 | * FileResource主键id
16 | */
17 | private Long fileResourceId;
18 | /**
19 | * 命名空间
20 | */
21 | private String namespace;
22 | /**
23 | * 文件路径(以"/"结束)
24 | */
25 | private String path;
26 | /**
27 | * 文件名称
28 | */
29 | private String name;
30 | /**
31 | * 文件内容
32 | */
33 | private String content;
34 | /**
35 | * 最后修改时间
36 | */
37 | private Date lastModifiedTime;
38 | }
39 |
--------------------------------------------------------------------------------
/clever-graaljs-fast-api/src/main/java/org/clever/graaljs/fast/api/plugin/PutGlobalObjects.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.fast.api.plugin;
2 |
3 | import java.util.Map;
4 |
5 | /**
6 | * 作者:lizw
7 | * 创建时间:2021/08/25 11:29
8 | */
9 | public interface PutGlobalObjects {
10 |
11 | /**
12 | * 设置脚本引擎全局对象
13 | */
14 | void handle(Map contextMap);
15 | }
16 |
--------------------------------------------------------------------------------
/clever-graaljs-fast-api/src/main/resources/META-INF/spring.factories:
--------------------------------------------------------------------------------
1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
2 | org.clever.graaljs.fast.api.autoconfigure.FastApiAutoConfiguration,\
3 | org.clever.graaljs.fast.api.autoconfigure.FastApiWebMvcConfigurer,\
4 | org.clever.graaljs.fast.api.autoconfigure.MultipleJdbcAutoConfigure,\
5 | org.clever.graaljs.fast.api.autoconfigure.MultipleRedisAutoConfigure,\
6 | org.clever.graaljs.fast.api.autoconfigure.FastApiInitCommandLineRunner,\
7 | org.clever.graaljs.fast.api.autoconfigure.TaskInstanceAutoConfiguration,\
8 | org.clever.graaljs.fast.api.autoconfigure.FastApiWebSocketConfigurer
--------------------------------------------------------------------------------
/clever-graaljs-freemarker/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 | 4.0.0
6 |
7 |
8 | org.clever
9 | clever-graaljs
10 | ${revision}
11 |
12 |
13 | clever-graaljs-freemarker
14 | jar
15 |
16 |
17 |
18 | org.clever
19 | clever-graaljs-core
20 |
21 |
22 |
23 | org.freemarker
24 | freemarker
25 |
26 |
27 |
--------------------------------------------------------------------------------
/clever-graaljs-freemarker/src/main/java/org/clever/graaljs/freemarker/support/FreemarkerService.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.freemarker.support;
2 |
3 | /**
4 | * 作者:lizw
5 | * 创建时间:2020/10/04 21:58
6 | */
7 | public class FreemarkerService {
8 | }
9 |
--------------------------------------------------------------------------------
/clever-graaljs-meta-data/src/main/java/org/clever/graaljs/meta/data/MetaDataEngineGlobalUtils.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.meta.data;
2 |
3 | import org.clever.graaljs.meta.data.builtin.wrap.MateDataManage;
4 |
5 | import java.util.Map;
6 |
7 | /**
8 | * 作者:lizw
9 | * 创建时间:2021/07/16 17:44
10 | */
11 | public class MetaDataEngineGlobalUtils {
12 | /**
13 | * 设置引擎默认的全局对象
14 | */
15 | public static void putGlobalObjects(Map contextMap) {
16 | // mate-data
17 | contextMap.put("MateDataManage", MateDataManage.Instance);
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/clever-graaljs-meta-data/src/main/java/org/clever/graaljs/meta/data/convert/ConvertToDataBaseSummary.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.meta.data.convert;
2 |
3 | import org.clever.graaljs.meta.data.model.DataBaseSummary;
4 | import schemacrawler.schema.Schema;
5 |
6 | /**
7 | * 作者:lizw
8 | * 创建时间:2020-10-01 19:08
9 | */
10 | public class ConvertToDataBaseSummary {
11 | public static DataBaseSummary convert(Schema schema) {
12 | DataBaseSummary dataBaseSummary = new DataBaseSummary();
13 | dataBaseSummary.setSchemaName(schema.getCatalogName());
14 | return dataBaseSummary;
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/clever-graaljs-meta-data/src/main/java/org/clever/graaljs/meta/data/convert/ConvertToTableSchema.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.meta.data.convert;
2 |
3 | import org.clever.graaljs.meta.data.model.TableSchema;
4 | import schemacrawler.schema.Schema;
5 | import schemacrawler.schema.Table;
6 | import schemacrawler.schema.View;
7 |
8 | /**
9 | * 作者:lizw
10 | * 创建时间:2020-10-01 19:14
11 | */
12 | public class ConvertToTableSchema {
13 | public static TableSchema convert(Table table) {
14 | final Schema schema = table.getSchema();
15 | TableSchema tableSchema = new TableSchema();
16 | tableSchema.setView(table instanceof View);
17 | tableSchema.setSchemaName(schema.getCatalogName());
18 | tableSchema.setTableName(table.getName());
19 | tableSchema.setDescription(table.getRemarks());
20 | tableSchema.getAttributes().putAll(table.getAttributes());
21 | return tableSchema;
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/clever-graaljs-meta-data/src/main/java/org/clever/graaljs/meta/data/model/DataBaseSummary.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.meta.data.model;
2 |
3 | import lombok.Data;
4 | import org.apache.commons.lang3.StringUtils;
5 |
6 | import java.io.Serializable;
7 | import java.util.ArrayList;
8 | import java.util.List;
9 |
10 | /**
11 | * 作者:lizw
12 | * 创建时间:2020-10-01 16:19
13 | */
14 | @Data
15 | public class DataBaseSummary implements Serializable {
16 | /**
17 | * 数据库名称
18 | */
19 | private String schemaName;
20 |
21 | /**
22 | * 数据库表名称
23 | */
24 | private final List tableList = new ArrayList<>();
25 |
26 | /**
27 | * @param tableName 表名称
28 | */
29 | public TableSchema getTableSchema(String tableName) {
30 | for (TableSchema tableSchema : tableList) {
31 | if (StringUtils.equalsIgnoreCase(tableName, tableSchema.getTableName())) {
32 | return tableSchema;
33 | }
34 | }
35 | return null;
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/clever-graaljs-meta-data/src/main/java/org/clever/graaljs/meta/data/model/TableSchema.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.meta.data.model;
2 |
3 | import lombok.Data;
4 |
5 | import java.io.Serializable;
6 | import java.util.ArrayList;
7 | import java.util.HashMap;
8 | import java.util.List;
9 | import java.util.Map;
10 |
11 | /**
12 | * 作者:lizw
13 | * 创建时间:2020-10-01 16:04
14 | */
15 | @Data
16 | public class TableSchema implements Serializable {
17 | /**
18 | * 是否是视图
19 | */
20 | private boolean isView = false;
21 | /**
22 | * 数据库名称
23 | */
24 | private String schemaName;
25 | /**
26 | * 表名称
27 | */
28 | private String tableName;
29 | /**
30 | * 表注释说明
31 | */
32 | private String description;
33 | /**
34 | * 其他列属性
35 | */
36 | private final Map attributes = new HashMap<>();
37 | /**
38 | * 数据库列
39 | */
40 | private final List columnList = new ArrayList<>();
41 | }
42 |
--------------------------------------------------------------------------------
/clever-graaljs-meta-data/src/test/java/org/clever/graaljs/meta/data/BaseTest.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.meta.data;
2 |
3 | import com.zaxxer.hikari.HikariConfig;
4 | import com.zaxxer.hikari.HikariDataSource;
5 | import lombok.extern.slf4j.Slf4j;
6 |
7 | /**
8 | * 作者:lizw
9 | * 创建时间:2021/06/12 21:39
10 | */
11 | @Slf4j
12 | public class BaseTest {
13 | public static HikariDataSource newHikariDataSource() {
14 | HikariConfig hikariConfig = new HikariConfig();
15 | hikariConfig.setDriverClassName("com.mysql.cj.jdbc.Driver");
16 | hikariConfig.setJdbcUrl("jdbc:mysql://192.168.1.201:12000/test-data");
17 | hikariConfig.setUsername("test-data");
18 | hikariConfig.setPassword("Aa123456!");
19 | hikariConfig.setAutoCommit(false);
20 | hikariConfig.setMinimumIdle(1);
21 | hikariConfig.setMaximumPoolSize(10);
22 | return new HikariDataSource(hikariConfig);
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/clever-graaljs-meta-data/src/test/resources/builtin/MateDataManageTest.js:
--------------------------------------------------------------------------------
1 | const log = LoggerFactory.getLogger("logger");
2 | const mateDataService = MateDataManage.getDefault();
3 |
4 | mateDataService.reload();
5 | const dataBaseSummary = mateDataService.getDataBaseSummary("test-data");
6 | log.info("###dataBaseSummary -> {}", dataBaseSummary);
7 | const tableSchema = mateDataService.getTableSchema("test-data", "tb_merchandise");
8 | log.info("###tableSchema -> {}", tableSchema);
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/clever-graaljs-spring-common/src/main/java/org/clever/graaljs/spring/core/autoconfigure/GraaljsSpringCoreAutoConfiguration.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.spring.core.autoconfigure;
2 |
3 | import org.clever.graaljs.spring.core.utils.spring.SpringContextHolder;
4 | import org.springframework.boot.autoconfigure.AutoConfigureOrder;
5 | import org.springframework.context.annotation.Bean;
6 | import org.springframework.context.annotation.Configuration;
7 | import org.springframework.core.Ordered;
8 |
9 | /**
10 | * 作者:lizw
11 | * 创建时间:2021/06/13 14:41
12 | */
13 | @AutoConfigureOrder(Ordered.LOWEST_PRECEDENCE)
14 | @Configuration
15 | public class GraaljsSpringCoreAutoConfiguration {
16 | @Bean
17 | public SpringContextHolder springContextHolder() {
18 | return new SpringContextHolder();
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/clever-graaljs-spring-common/src/main/java/org/clever/graaljs/spring/core/utils/excel/ExcelReaderExceptionHand.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.spring.core.utils.excel;
2 |
3 |
4 | import com.alibaba.excel.context.AnalysisContext;
5 |
6 | /**
7 | * 处理读取Excel异常
8 | *
9 | * 作者: lzw
10 | * 创建时间:2019-05-24 15:31
11 | */
12 | public interface ExcelReaderExceptionHand {
13 |
14 | /**
15 | * 处理读取Excel异常
16 | *
17 | * context.readRowHolder() 当前行相关信息
18 | * context.readSheetHolder() 当前页签相关信息
19 | * context.readRowHolder().getCellMap() 行数据
20 | * context.readRowHolder().getRowIndex() + 1 行号
21 | *
22 | *
23 | * @param throwable 当前行异常
24 | * @param context Excel读取上下文信息
25 | */
26 | void exceptionHand(Throwable throwable, AnalysisContext context);
27 | }
28 |
--------------------------------------------------------------------------------
/clever-graaljs-spring-common/src/main/java/org/clever/graaljs/spring/core/utils/excel/ExcelRowReader.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.spring.core.utils.excel;
2 |
3 | import com.alibaba.excel.context.AnalysisContext;
4 | import org.clever.graaljs.spring.core.utils.excel.dto.ExcelRow;
5 |
6 | /**
7 | * 作者: lzw
8 | * 创建时间:2019-05-13 17:44
9 | */
10 | public interface ExcelRowReader {
11 | /**
12 | * 处理Excel数据行(用于自定义校验)
13 | *
14 | * excelRow.addErrorInColumn() 增加列错误
15 | * excelRow.addErrorInRow() 增加行错误
16 | *
17 | *
18 | * @param data 校验通过的数据
19 | * @param excelRow 数据行对象
20 | */
21 | void readRow(T data, ExcelRow excelRow, AnalysisContext context);
22 |
23 | /**
24 | * 读取结束时调用
25 | */
26 | void readEnd(AnalysisContext context);
27 | }
28 |
--------------------------------------------------------------------------------
/clever-graaljs-spring-common/src/main/java/org/clever/graaljs/spring/core/utils/excel/dto/ExcelHead.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.spring.core.utils.excel.dto;
2 |
3 | import lombok.Data;
4 |
5 | import java.io.Serializable;
6 | import java.util.ArrayList;
7 | import java.util.List;
8 |
9 | /**
10 | * 作者: lzw
11 | * 创建时间:2019-05-13 11:44
12 | */
13 | @Data
14 | public class ExcelHead implements Serializable {
15 | /**
16 | * 字段位置
17 | */
18 | private final Integer index;
19 | /**
20 | * Excel表头名称(允许多级表头)
21 | */
22 | private final List heads = new ArrayList<>();
23 | /**
24 | * 对应实体类字段名
25 | */
26 | private String columnName;
27 |
28 | public ExcelHead(Integer index, String head) {
29 | this.index = index;
30 | this.heads.add(head);
31 | }
32 |
33 | /**
34 | * 第一级表头
35 | */
36 | public String getFirstHead() {
37 | if (heads.isEmpty()) {
38 | return null;
39 | }
40 | return heads.get(0);
41 | }
42 |
43 | /**
44 | * 最后一级表头(建议前端使用此值)
45 | */
46 | public String getLastHead() {
47 | if (heads.isEmpty()) {
48 | return null;
49 | }
50 | return heads.get(heads.size() - 1);
51 | }
52 | }
53 |
--------------------------------------------------------------------------------
/clever-graaljs-spring-common/src/main/java/org/clever/graaljs/spring/core/utils/excel/dto/ExcelImportState.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.spring.core.utils.excel.dto;
2 |
3 | import lombok.Data;
4 |
5 | import java.io.Serializable;
6 |
7 | /**
8 | * 作者: lzw
9 | * 创建时间:2019-05-13 11:50
10 | */
11 | @Data
12 | public class ExcelImportState implements Serializable {
13 | /**
14 | * 导入是否成功
15 | */
16 | private boolean success;
17 |
18 | /**
19 | * 总数据量
20 | */
21 | private int totalRows;
22 |
23 | /**
24 | * 成功数据量
25 | */
26 | private int successRows;
27 |
28 | /**
29 | * 失败数据量
30 | */
31 | private int failRows;
32 |
33 | /**
34 | * 错误数量
35 | */
36 | private int errorCount;
37 |
38 | /**
39 | * 重复数据量
40 | */
41 | private int repeat;
42 |
43 | /**
44 | * 处理耗时(单位毫秒)
45 | */
46 | private long takeTime = -1;
47 | }
48 |
--------------------------------------------------------------------------------
/clever-graaljs-spring-common/src/main/java/org/clever/graaljs/spring/core/utils/validator/StatusIntegerValidator.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.spring.core.utils.validator;
2 |
3 | import org.clever.graaljs.spring.core.utils.validator.annotation.ValidIntegerStatus;
4 |
5 | import javax.validation.ConstraintValidator;
6 | import javax.validation.ConstraintValidatorContext;
7 | import java.util.Arrays;
8 | import java.util.List;
9 |
10 | /**
11 | * 作者: lzw
12 | * 创建时间:2018-11-09 21:31
13 | */
14 | public class StatusIntegerValidator implements ConstraintValidator {
15 |
16 | private Integer[] validStatus;
17 |
18 | @Override
19 | public void initialize(ValidIntegerStatus validIntegerStatus) {
20 | int[] ints = validIntegerStatus.value();
21 | int n = ints.length;
22 | Integer[] integers = new Integer[n];
23 | for (int i = 0; i < n; i++) {
24 | integers[i] = ints[i];
25 | }
26 | this.validStatus = integers;
27 | }
28 |
29 | @Override
30 | public boolean isValid(Integer integer, ConstraintValidatorContext constraintValidatorContext) {
31 | if (integer == null) {
32 | return true;
33 | }
34 | List status = Arrays.asList(validStatus);
35 | return status.contains(integer);
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/clever-graaljs-spring-common/src/main/java/org/clever/graaljs/spring/core/utils/validator/StatusStringValidator.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.spring.core.utils.validator;
2 |
3 | import org.clever.graaljs.spring.core.utils.validator.annotation.ValidStringStatus;
4 |
5 | import javax.validation.ConstraintValidator;
6 | import javax.validation.ConstraintValidatorContext;
7 | import java.util.Arrays;
8 | import java.util.HashSet;
9 | import java.util.Set;
10 |
11 | /**
12 | * 作者: lzw
13 | * 创建时间:2018-11-09 21:41
14 | */
15 | public class StatusStringValidator implements ConstraintValidator {
16 |
17 | private Set validStatus;
18 |
19 | @Override
20 | public void initialize(ValidStringStatus validStringStatus) {
21 | String[] values = validStringStatus.value();
22 | validStatus = new HashSet<>(values.length);
23 | validStatus.addAll(Arrays.asList(values));
24 | }
25 |
26 | @Override
27 | public boolean isValid(String str, ConstraintValidatorContext constraintValidatorContext) {
28 | if (str == null) {
29 | return true;
30 | }
31 | return validStatus.contains(str);
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/clever-graaljs-spring-common/src/main/java/org/clever/graaljs/spring/core/utils/validator/StringNotBlankValidator.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.spring.core.utils.validator;
2 |
3 | import org.apache.commons.lang3.StringUtils;
4 | import org.clever.graaljs.spring.core.utils.validator.annotation.StringNotBlank;
5 |
6 | import javax.validation.ConstraintValidator;
7 | import javax.validation.ConstraintValidatorContext;
8 |
9 | /**
10 | * 作者: lzw
11 | * 创建时间:2018-11-09 21:49
12 | */
13 | public class StringNotBlankValidator implements ConstraintValidator {
14 |
15 | @Override
16 | public boolean isValid(String str, ConstraintValidatorContext constraintValidatorContext) {
17 | if (str == null) {
18 | return true;
19 | }
20 | return StringUtils.isNotBlank(str);
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/clever-graaljs-spring-common/src/main/java/org/clever/graaljs/spring/core/utils/validator/annotation/StringNotBlank.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.spring.core.utils.validator.annotation;
2 |
3 | import org.clever.graaljs.spring.core.utils.validator.StringNotBlankValidator;
4 |
5 | import javax.validation.Constraint;
6 | import javax.validation.Payload;
7 | import java.lang.annotation.Documented;
8 | import java.lang.annotation.Retention;
9 | import java.lang.annotation.Target;
10 |
11 | import static java.lang.annotation.ElementType.*;
12 | import static java.lang.annotation.RetentionPolicy.RUNTIME;
13 |
14 | /**
15 | * 校验字符串不为空字符串,但可以为null(不校验null数据)
16 | * null -> true
17 | * "" -> false
18 | * " " -> false
19 | * "a" -> true
20 | * " a " -> true
21 | * 作者: lzw
22 | * 创建时间:2018-11-09 21:47
23 | */
24 | @Documented
25 | @Target({METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER, TYPE_USE})
26 | @Retention(RUNTIME)
27 | @Constraint(validatedBy = StringNotBlankValidator.class)
28 | public @interface StringNotBlank {
29 |
30 | String message() default "不能是空字符串";
31 |
32 | Class>[] groups() default {};
33 |
34 | Class extends Payload>[] payload() default {};
35 | }
36 |
--------------------------------------------------------------------------------
/clever-graaljs-spring-common/src/main/java/org/clever/graaljs/spring/core/utils/validator/annotation/ValidIntegerStatus.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.spring.core.utils.validator.annotation;
2 |
3 | import org.clever.graaljs.spring.core.utils.validator.StatusIntegerValidator;
4 |
5 | import javax.validation.Constraint;
6 | import javax.validation.Payload;
7 | import java.lang.annotation.Documented;
8 | import java.lang.annotation.Retention;
9 | import java.lang.annotation.Target;
10 |
11 | import static java.lang.annotation.ElementType.*;
12 | import static java.lang.annotation.RetentionPolicy.RUNTIME;
13 |
14 | /**
15 | * 状态校验 Integer 类型(不校验null数据)
16 | *
17 | * 作者: lzw
18 | * 创建时间:2018-11-09 21:27
19 | */
20 | @Documented
21 | @Target({METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER, TYPE_USE})
22 | @Retention(RUNTIME)
23 | @Constraint(validatedBy = StatusIntegerValidator.class)
24 | public @interface ValidIntegerStatus {
25 |
26 | String message() default "状态校验失败";
27 |
28 | Class>[] groups() default {};
29 |
30 | Class extends Payload>[] payload() default {};
31 |
32 | /**
33 | * 有效的状态值集合
34 | */
35 | int[] value() default {};
36 | }
37 |
--------------------------------------------------------------------------------
/clever-graaljs-spring-common/src/main/java/org/clever/graaljs/spring/core/utils/validator/annotation/ValidStringStatus.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.spring.core.utils.validator.annotation;
2 |
3 | import org.clever.graaljs.spring.core.utils.validator.StatusStringValidator;
4 |
5 | import javax.validation.Constraint;
6 | import javax.validation.Payload;
7 | import java.lang.annotation.Documented;
8 | import java.lang.annotation.Retention;
9 | import java.lang.annotation.Target;
10 |
11 | import static java.lang.annotation.ElementType.*;
12 | import static java.lang.annotation.RetentionPolicy.RUNTIME;
13 |
14 | /**
15 | * 状态校验 String 类型(不校验null数据)
16 | * 作者: lzw
17 | * 创建时间:2018-11-09 21:40
18 | */
19 | @Documented
20 | @Target({METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER, TYPE_USE})
21 | @Retention(RUNTIME)
22 | @Constraint(validatedBy = StatusStringValidator.class)
23 | public @interface ValidStringStatus {
24 |
25 | String message() default "状态校验失败";
26 |
27 | Class>[] groups() default {};
28 |
29 | Class extends Payload>[] payload() default {};
30 |
31 | /**
32 | * 有效的状态值集合
33 | */
34 | String[] value() default {};
35 | }
36 |
--------------------------------------------------------------------------------
/clever-graaljs-spring-common/src/main/java/org/clever/graaljs/spring/logger/GraalJsDebugLog4j2Appender.java:
--------------------------------------------------------------------------------
1 | //package org.clever.graaljs.spring.logger;
2 | //
3 | //import org.apache.logging.log4j.Level;
4 | //import org.apache.logging.log4j.LogManager;
5 | //import org.apache.logging.log4j.core.*;
6 | //import org.apache.logging.log4j.core.appender.*;
7 | //import org.apache.logging.log4j.core.config.AppenderControl;
8 | //import org.apache.logging.log4j.core.config.AppenderRef;
9 | //import org.apache.logging.log4j.core.config.Configuration;
10 | //import org.apache.logging.log4j.core.config.Property;
11 | //import org.apache.logging.log4j.core.config.plugins.Plugin;
12 | //import org.apache.logging.log4j.core.config.plugins.PluginAttribute;
13 | //import org.apache.logging.log4j.core.config.plugins.PluginElement;
14 | //import org.apache.logging.log4j.core.config.plugins.PluginFactory;
15 | //import org.apache.logging.log4j.core.layout.PatternLayout;
16 | //
17 | ///**
18 | // * 作者:lizw
19 | // * 创建时间:2021/07/04 21:38
20 | // */
21 | //@Plugin(name="Kafka",
22 | // category="Core",
23 | // elementType="appender",
24 | // printObject=true)
25 | //public class GraalJsDebugLog4j2Appender {
26 | //}
27 |
--------------------------------------------------------------------------------
/clever-graaljs-spring-common/src/main/java/org/clever/graaljs/spring/mvc/ExceptionResolver.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.spring.mvc;
2 |
3 | import javax.servlet.http.HttpServletRequest;
4 | import javax.servlet.http.HttpServletResponse;
5 |
6 | /**
7 | * 作者:lizw
8 | * 创建时间:2020/09/21 11:25
9 | */
10 | public interface ExceptionResolver {
11 | /**
12 | * 异常处理
13 | *
14 | * @return 返回对象不为空会被序列化成json响应给客户端
15 | */
16 | Object resolveException(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex);
17 | }
18 |
--------------------------------------------------------------------------------
/clever-graaljs-spring-common/src/main/java/org/clever/graaljs/spring/mvc/ScriptHandler.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.spring.mvc;
2 |
3 | import javax.servlet.http.HttpServletRequest;
4 | import javax.servlet.http.HttpServletResponse;
5 |
6 | /**
7 | * 作者:lizw
8 | * 创建时间:2020/09/16 21:50
9 | */
10 | public interface ScriptHandler {
11 |
12 | /**
13 | * 使用Script代码处理HTTP请求
14 | *
15 | * @param request HTTP请求
16 | * @param response HTTP响应
17 | * @param handler 原始处理请求的对象
18 | * @return 已处理请求返回true,未处理返回false
19 | */
20 | boolean handle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception;
21 | }
22 |
--------------------------------------------------------------------------------
/clever-graaljs-spring-common/src/main/java/org/clever/graaljs/spring/mvc/builtin/constant/HttpMethodEnum.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.spring.mvc.builtin.constant;
2 |
3 | /**
4 | * 作者:lizw
5 | * 创建时间:2021/07/16 17:56
6 | */
7 | public interface HttpMethodEnum {
8 |
9 | final class HttpMethod {
10 | public static final HttpMethod Instance = new HttpMethod();
11 |
12 | private HttpMethod() {
13 | }
14 |
15 | public final String GET = "GET";
16 | public final String POST = "POST";
17 | public final String DELETE = "DELETE";
18 | public final String PUT = "PUT";
19 | public final String HEAD = "HEAD";
20 | public final String OPTIONS = "OPTIONS";
21 | public final String PATCH = "PATCH";
22 | public final String TRACE = "TRACE";
23 | public final String CONNECT = "CONNECT";
24 | public final String MOVE = "MOVE";
25 | public final String PROPPATCH = "PROPPATCH";
26 | public final String REPORT = "REPORT";
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/clever-graaljs-spring-common/src/main/java/org/clever/graaljs/spring/mvc/builtin/constant/SortTypeEnum.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.spring.mvc.builtin.constant;
2 |
3 | /**
4 | * 作者:lizw
5 | * 创建时间:2021/07/16 17:51
6 | */
7 | public interface SortTypeEnum {
8 | /**
9 | * 排序类型
10 | */
11 | final class SortType {
12 | public static final SortType Instance = new SortType();
13 |
14 | private SortType() {
15 | }
16 |
17 | /**
18 | * 由小到大排序
19 | */
20 | public final String ASC = "ASC";
21 | /**
22 | * 由大到小排序
23 | */
24 | public final String DESC = "DESC";
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/clever-graaljs-spring-common/src/main/java/org/clever/graaljs/spring/mvc/model/request/BaseRequest.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.spring.mvc.model.request;
2 |
3 | import lombok.Data;
4 |
5 | import java.io.Serializable;
6 |
7 | /**
8 | * 请求基础类
9 | *
10 | * 作者:lzw
11 | * 创建时间:2017-09-01 23:26
12 | */
13 | @Data
14 | public class BaseRequest implements Serializable {
15 | private static final long serialVersionUID = 1L;
16 |
17 | }
18 |
--------------------------------------------------------------------------------
/clever-graaljs-spring-common/src/main/java/org/clever/graaljs/spring/mvc/model/response/BaseResponse.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.spring.mvc.model.response;
2 |
3 | import lombok.Data;
4 |
5 | import java.io.Serializable;
6 |
7 | /**
8 | * 响应基础类
9 | *
10 | * 作者:lzw
11 | * 创建时间:2017-09-01 23:23
12 | */
13 | @Data
14 | public class BaseResponse implements Serializable {
15 | private static final long serialVersionUID = 1L;
16 | }
17 |
--------------------------------------------------------------------------------
/clever-graaljs-spring-common/src/main/java/org/clever/graaljs/spring/mvc/support/IntegerToDateConverter.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.spring.mvc.support;
2 |
3 | import org.clever.graaljs.core.utils.DateTimeUtils;
4 | import org.springframework.core.convert.converter.Converter;
5 |
6 | import java.util.Date;
7 |
8 | /**
9 | * 作者:lizw
10 | * 创建时间:2020/09/16 15:15
11 | */
12 | public class IntegerToDateConverter implements Converter {
13 | public static final IntegerToDateConverter Instance = new IntegerToDateConverter();
14 |
15 | private IntegerToDateConverter() {
16 | }
17 |
18 | @SuppressWarnings("NullableProblems")
19 | @Override
20 | public Date convert(Integer source) {
21 | return DateTimeUtils.parseDate(source);
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/clever-graaljs-spring-common/src/main/java/org/clever/graaljs/spring/mvc/support/StringToDateConverter.java:
--------------------------------------------------------------------------------
1 | package org.clever.graaljs.spring.mvc.support;
2 |
3 | import org.clever.graaljs.core.utils.DateTimeUtils;
4 | import org.springframework.core.convert.converter.Converter;
5 |
6 | import java.util.Date;
7 |
8 | /**
9 | * 作者:lizw
10 | * 创建时间:2020/09/16 15:10
11 | */
12 | public class StringToDateConverter implements Converter {
13 | public static final StringToDateConverter Instance = new StringToDateConverter();
14 |
15 | private StringToDateConverter() {
16 | }
17 |
18 | @SuppressWarnings("NullableProblems")
19 | @Override
20 | public Date convert(String source) {
21 | return DateTimeUtils.parseDate(source);
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/clever-graaljs-spring-common/src/main/resources/META-INF/spring.factories:
--------------------------------------------------------------------------------
1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
2 | org.clever.graaljs.spring.core.autoconfigure.GraaljsSpringCoreAutoConfiguration
--------------------------------------------------------------------------------
/clever-graaljs-tools/src/main/java/org/clever/graaljs/tools/antlr4/javadoc/JavadocLexer.tokens:
--------------------------------------------------------------------------------
1 | NAME=1
2 | NEWLINE=2
3 | SPACE=3
4 | TEXT_CONTENT=4
5 | AT=5
6 | STAR=6
7 | SLASH=7
8 | JAVADOC_START=8
9 | JAVADOC_END=9
10 | INLINE_TAG_START=10
11 | BRACE_OPEN=11
12 | BRACE_CLOSE=12
13 | '@'=5
14 | '*'=6
15 | '/'=7
16 | '{@'=10
17 | '{'=11
18 | '}'=12
19 |
--------------------------------------------------------------------------------
/clever-graaljs-tools/src/main/java/org/clever/graaljs/tools/antlr4/javadoc/JavadocParser.tokens:
--------------------------------------------------------------------------------
1 | NAME=1
2 | NEWLINE=2
3 | SPACE=3
4 | TEXT_CONTENT=4
5 | AT=5
6 | STAR=6
7 | SLASH=7
8 | JAVADOC_START=8
9 | JAVADOC_END=9
10 | INLINE_TAG_START=10
11 | BRACE_OPEN=11
12 | BRACE_CLOSE=12
13 | '@'=5
14 | '*'=6
15 | '/'=7
16 | '{@'=10
17 | '{'=11
18 | '}'=12
19 |
--------------------------------------------------------------------------------
/clever-graaljs-types/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "clever-graaljs-types",
3 | "version": "0.0.1",
4 | "main": "",
5 | "types": "",
6 | "repository": {
7 | "type": "git",
8 | "url": "git+https://github.com/Lzw2016/clever-graaljs.git"
9 | },
10 | "keywords": [
11 | "fast-api",
12 | "graaljs",
13 | "serverjs",
14 | "hinny",
15 | "clever-graaljs",
16 | "java",
17 | "js",
18 | "javascript",
19 | "typescript"
20 | ],
21 | "author": "lizw",
22 | "license": "MIT",
23 | "bugs": {
24 | "url": "https://github.com/Lzw2016/clever-graaljs/issues"
25 | },
26 | "homepage": "https://github.com/Lzw2016/clever-graaljs#readme",
27 | "scripts": {
28 | "init": "yarn install"
29 | },
30 | "devDependencies": {
31 | "typescript": "^4.3.5"
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/clever-graaljs-types/src/BaseTypes.d.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * Java 基本类型 byte (-128~127)
3 | */
4 | type JByte = number;
5 |
6 | /**
7 | * Java 基本类型 short (-32,768 ~ 32,767)
8 | */
9 | type JShort = number;
10 |
11 | /**
12 | * Java 基本类型 int (-2,147,483,648 ~ 2,147,483,647)
13 | */
14 | type JInt = number;
15 |
16 | /**
17 | * Java 基本类型 long (-9,223,372,036,854,774,808 ~ 9,223,372,036,854,774,807)
18 | */
19 | type JLong = number;
20 |
21 | /**
22 | * Java 基本类型 float
23 | */
24 | type JFloat = number;
25 |
26 | /**
27 | * Java 基本类型 double
28 | */
29 | type JDouble = number;
30 |
31 | /**
32 | * Java 基本类型 boolean
33 | */
34 | type JBoolean = boolean;
35 |
36 | /**
37 | * Java 基本类型 char
38 | */
39 | type JChar = string;
40 |
41 | /**
42 | * Java 基本类型 String
43 | */
44 | type JString = string;
45 |
46 | /**
47 | * 字符集枚举
48 | */
49 | enum Charsets {
50 | US_ASCII = "US-ASCII",
51 | ISO_8859_1 = "ISO-8859-1",
52 | UTF_8 = "UTF-8",
53 | UTF_16BE = "UTF-16BE",
54 | UTF_16LE = "UTF-16LE",
55 | UTF_16 = "UTF-16",
56 | }
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
--------------------------------------------------------------------------------
/clever-graaljs-types/src/fast-api/core/CommonUtils.d.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * 作者:lizw
3 | * 创建时间:2020/07/28 22:32
4 | */
5 | interface CommonUtils extends JObject {
6 | /**
7 | * 休眠一段时间
8 | *
9 | * @param millis 毫秒
10 | */
11 | sleep(millis: number): void;
12 |
13 | /**
14 | * 放弃当前CPU使用权(当前线程放弃本次CPU时间)
15 | */
16 | yield(): void;
17 |
18 | /**
19 | * 获取对象的 hashcode
20 | */
21 | hashCode(object: any): JInt;
22 |
23 | /**
24 | * 两个对象 equals
25 | */
26 | equals(a: any, b: any): JBoolean;
27 |
28 | /**
29 | * 判断两个对象是不是同一个对象(内存地址相同)
30 | */
31 | same(a: any, b: any): JBoolean;
32 |
33 | /**
34 | * 获取当前时间搓(毫秒)
35 | */
36 | currentTimeMillis(): JLong;
37 |
38 | /**
39 | * 获取当前时间 Date
40 | */
41 | now(): JDate;
42 |
43 | /**
44 | * 获取对象的Java类型
45 | */
46 | getClass(obj: any): JClass;
47 |
48 | /**
49 | * 获取对象的Java类型名称
50 | */
51 | getClassName(obj: any): JString;
52 |
53 | /**
54 | * 返回对象的字符串表形式
55 | */
56 | toString(obj: any): JString;
57 |
58 | /**
59 | * 返回对象的字符串表形式
60 | *
61 | * @param obj 指定对象
62 | * @param def 默认字符串
63 | */
64 | toString(obj: any, def: JString): JString;
65 | }
66 |
67 | declare const CommonUtils: CommonUtils;
68 |
--------------------------------------------------------------------------------
/clever-graaljs-types/src/fast-api/core/DataSizeUtils.d.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * 作者:lizw
3 | * 创建时间:2020/07/28 22:34
4 | */
5 | interface DataSizeUtils extends JObject {
6 | /**
7 | * 返回容易读取的数据大小,如:15B、12.36KB、1.58MB、25.3GB
8 | *
9 | * @param size 文件大小 单位:bit
10 | * @return 返回容易读取的文件大小数据, 参数是null,返回null
11 | */
12 | getHumanReadableSize(size: JLong): JString;
13 | }
14 |
15 | declare const DataSizeUtils: DataSizeUtils;
16 |
--------------------------------------------------------------------------------
/clever-graaljs-types/src/fast-api/core/IDGenerateUtils.d.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * 作者:lizw
3 | * 创建时间:2020/07/28 22:33
4 | */
5 | interface IDGenerateUtils extends JObject {
6 | /**
7 | * 封装JDK自带的UUID
8 | * 例如:57d7058d-bc79-444d-b7e5-7a5d0b955cc8
9 | */
10 | uuid(): JString;
11 |
12 | /**
13 | * 封装JDK自带的UUID, 通过Random数字生成, 中间无"-"分割.
14 | * 例如:57d7058dbc79444db7e57a5d0b955cc8
15 | */
16 | uuidNotSplit(): JString;
17 |
18 | /**
19 | * 以62进制(字母加数字)生成19位UUID,最短的UUID
20 | */
21 | shortUuid(): JString;
22 |
23 | /**
24 | * 创建MongoDB ID生成策略实现
25 | * ObjectId由以下几部分组成:
26 | *
27 | *
28 | * 1. Time 时间戳。
29 | * 2. Machine 所在主机的唯一标识符,一般是机器主机名的散列值。
30 | * 3. PID 进程ID。确保同一机器中不冲突
31 | * 4. INC 自增计数器。确保同一秒内产生objectId的唯一性。
32 | *
33 | *
34 | * 参考:http://blog.csdn.net/qxc1281/article/details/54021882
35 | *
36 | * @return ObjectId
37 | */
38 | objectId(): JString;
39 |
40 | /**
41 | * 雪花算法ID(“数据中心ID”和“机器号ID”都是0)
42 | */
43 | snowFlakeId(): JLong;
44 |
45 | /**
46 | * @param dataCenterId 数据中心ID
47 | * @param machineId 机器号ID
48 | */
49 | getSnowFlake(dataCenterId: JLong, machineId: JLong): SnowFlake;
50 | }
51 |
52 | declare const IDGenerateUtils: IDGenerateUtils;
53 |
--------------------------------------------------------------------------------
/clever-graaljs-types/src/fast-api/core/IPAddressUtils.d.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * 作者:lizw
3 | * 创建时间:2020/07/28 22:34
4 | */
5 | interface IPAddressUtils extends JObject {
6 | /**
7 | * 获取本机所有的IPv4地址,已经获取过就直接返回
8 | */
9 | getInet4Address(): JSet;
10 |
11 | /**
12 | * 重新获取本机所有的IPv4地址
13 | */
14 | refreshInet4Address(): JSet;
15 |
16 | /**
17 | * 获取本机所有的IPv4地址,有多个用“;”分隔
18 | *
19 | * @return 失败返回"未知"
20 | */
21 | getInet4AddressStr(): JString;
22 | }
23 |
24 | declare const IPAddressUtils: IPAddressUtils;
25 |
--------------------------------------------------------------------------------
/clever-graaljs-types/src/fast-api/core/JsonUtils.d.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * 作者:lizw
3 | * 创建时间:2020/08/12 09:07
4 | */
5 | interface JsonUtils extends JObject {
6 | /**
7 | * Object可以是POJO,也可以是Collection或数组。 如果对象为Null, 返回"null". 如果集合为空集合, 返回"[]".
8 | *
9 | * @param object 需要序列化的对象
10 | * @return 序列化后的Json字符串
11 | */
12 | toJson(object: any): JString;
13 |
14 | /**
15 | * 输出JSON格式数据.
16 | */
17 | toJsonP(functionName: JString, object: any): JString;
18 |
19 | /**
20 | * 把Json字符串转换成Map对象
21 | */
22 | toMap(json: JString): Map;
23 |
24 | /**
25 | * 当JSON里只含有Bean的部分属性时,更新一个已存在Bean,只覆盖该部分的属性.
26 | *
27 | * @param json Json字符串
28 | * @param object 需要更新的对象
29 | * @return 操作成功返回true
30 | */
31 | update(json: JString, object: any): JBoolean;
32 |
33 | /**
34 | * XML字符串转换成Json字符串
35 | *
36 | * @param xml XML字符串
37 | * @return Json字符串
38 | */
39 | xmlToJson(xml: JString): JString;
40 |
41 | /**
42 | * Json字符串转换成XML字符串
43 | *
44 | * @param json Json字符串
45 | * @return XML字符串
46 | */
47 | jsonToXml(json: JString): JString;
48 | }
49 |
50 | declare const JsonUtils: JsonUtils;
51 |
--------------------------------------------------------------------------------
/clever-graaljs-types/src/fast-api/core/RMBUtils.d.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * 作者:lizw
3 | * 创建时间:2020/07/28 22:34
4 | */
5 | interface RMBUtils extends JObject {
6 | /**
7 | * 数字金额大写转换,思想先写个完整的然后将如零拾替换成零 要用到正则表达式
8 | */
9 | digitUppercase(n: JDouble): JString;
10 | }
11 |
12 | const RMBUtils: RMBUtils;
13 |
--------------------------------------------------------------------------------
/clever-graaljs-types/src/fast-api/core/SnowFlake.d.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * twitter的snowflake算法 -- java实现
3 | * 雪花算法简单描述:
4 | * 最高位是符号位,始终为0,不可用。
5 | * 41位的时间序列,精确到毫秒级,41位的长度可以使用69年。时间位还有一个很重要的作用是可以根据时间进行排序。
6 | * 10位的机器标识,10位的长度最多支持部署1024个节点。
7 | * 12位的计数序列号,序列号即一系列的自增id,可以支持同一节点同一毫秒生成多个ID序号,12位的计数序列号支持每个节点每毫秒产生4096个ID序号。
8 | */
9 | interface SnowFlake extends JObject {
10 | /**
11 | * 产生下一个ID
12 | */
13 | nextId(): JLong;
14 | }
15 |
16 | declare const SnowFlake: SnowFlake;
17 |
--------------------------------------------------------------------------------
/clever-graaljs-types/src/fast-api/core/ThreadUtils.d.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * 作者:lizw
3 | * 创建时间:2020/07/28 22:34
4 | */
5 | interface ThreadUtils extends JObject {
6 | /**
7 | * 线程栈信息
8 | *
9 | * @return 线程栈信息字符串
10 | */
11 | track(thread: JThread): JString;
12 |
13 | /**
14 | * 当前线程栈信息
15 | *
16 | * @return 线程栈信息字符串
17 | */
18 | track(): JString;
19 |
20 | /**
21 | * 打印线程栈信息
22 | */
23 | printTrack(thread: JThread): void;
24 |
25 | /**
26 | * 打印当前线程栈信息
27 | */
28 | printTrack(): void;
29 |
30 | /**
31 | * 休眠一段时间
32 | *
33 | * @param millis 毫秒
34 | */
35 | sleep(millis: number): void;
36 |
37 | /**
38 | * 放弃当前CPU使用权(当前线程放弃本次CPU时间)
39 | */
40 | yield(): void;
41 |
42 | /**
43 | * 获取当前线程
44 | */
45 | currentThread(): JThread;
46 | }
47 |
48 | declare const ThreadUtils: ThreadUtils;
49 |
50 |
--------------------------------------------------------------------------------
/clever-graaljs-types/src/fast-api/core/TypeUtils.d.ts:
--------------------------------------------------------------------------------
1 | declare const isString = (str: any): str is string => {
2 | return typeof str === 'string';
3 | }
4 |
5 | declare const isNumber = (num: any): num is number => {
6 | return typeof num === 'number';
7 | }
8 |
9 | declare const isUndefined = (un: any): un is undefined => {
10 | return typeof un === 'undefined';
11 | }
12 |
13 | declare const isObject = (obj: any): obj is object => {
14 | return typeof obj === 'object';
15 | }
16 |
17 | declare const isBoolean = (b: any): b is boolean => {
18 | return typeof b === 'boolean';
19 | }
20 |
21 | declare const isFunction = (fuc: any): fuc is Function => {
22 | return typeof fuc === 'function';
23 | }
24 |
25 | declare const isBigint = (big: any): big is bigint => {
26 | return typeof big === 'bigint';
27 | }
28 |
29 | declare const isSymbol = (sym: any): sym is symbol => {
30 | return typeof sym === 'symbol';
31 | }
32 |
--------------------------------------------------------------------------------
/clever-graaljs-types/src/fast-api/core/UnderlineToCamelUtils.d.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * 作者:lizw
3 | * 创建时间:2021/06/12 12:25
4 | */
5 | interface UnderlineToCamelUtils extends JObject {
6 | /**
7 | * key下划线转驼峰格式
8 | *
9 | * @param dataMap 数据
10 | * @param mapping 字段映射配置
11 | */
12 | underlineToCamel(dataMap: JMap, mapping: JMap): JMap;
13 |
14 | /**
15 | * key下划线转驼峰格式
16 | *
17 | * @param dataMap 数据
18 | */
19 | underlineToCamel(dataMap: JMap): JMap;
20 |
21 | /**
22 | * key下划线转驼峰格式
23 | *
24 | * @param dataMapList 数据集合
25 | * @param mapping 字段映射配置
26 | */
27 | underlineToCamel(dataMapList: JList>, mapping: JMap): JList>;
28 |
29 | /**
30 | * key下划线转驼峰格式
31 | *
32 | * @param dataMapList 数据集合
33 | */
34 | underlineToCamel(dataMapList: JList>): JList>;
35 | }
36 |
37 | declare const UnderlineToCamelUtils: UnderlineToCamelUtils;
38 |
--------------------------------------------------------------------------------
/clever-graaljs-types/src/fast-api/core/XmlUtils.d.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * 作者:lizw
3 | * 创建时间:2020/08/12 09:07
4 | */
5 | interface XmlUtils extends JObject {
6 | /**
7 | * 对象序列化成XML字符串
8 | *
9 | * @param object 需要序列化xml的对象
10 | * @return 返回xml
11 | */
12 | toXml(object: any): JString;
13 |
14 | /**
15 | * 当XML里只含有Bean的部分属性时,更新一个已存在Bean,只覆盖该部分的属性
16 | *
17 | * @param xml XML字符串
18 | * @param object 需要更新的对象
19 | * @return 操作成功返回true
20 | */
21 | update(xml: JString, object: any): JBoolean;
22 |
23 | /**
24 | * XML字符串转换成Json字符串
25 | *
26 | * @param xml XML字符串
27 | * @return Json字符串
28 | */
29 | xmlToJson(xml: JString): JString;
30 |
31 | /**
32 | * Json字符串转换成XML字符串
33 | *
34 | * @param json Json字符串
35 | * @return XML字符串
36 | */
37 | jsonToXml(json: JString): JString;
38 | }
39 |
40 | declare const XmlUtils: XmlUtils;
41 |
--------------------------------------------------------------------------------
/clever-graaljs-types/src/fast-api/data-jdbc/JdbcDataSourceStatus.d.ts:
--------------------------------------------------------------------------------
1 | interface JdbcDataSourceStatus extends JObject {
2 | /** 总连接数 */
3 | getTotalConnections(): JInt;
4 |
5 | /** 活动连接数 */
6 | getActiveConnections(): JInt;
7 |
8 | /** 空闲连接数 */
9 | getIdleConnections(): JInt;
10 |
11 | /** 等待索取连接的线程数 */
12 | getThreadsAwaitingConnection(): JInt;
13 | }
14 |
--------------------------------------------------------------------------------
/clever-graaljs-types/src/fast-api/data-jdbc/JdbcDatabase.d.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * JDBC数据库管理器
3 | */
4 | interface JdbcDatabase extends JObject {
5 | /**
6 | * 获取默认数据源
7 | */
8 | getDefault(): JdbcDataSource;
9 |
10 | /**
11 | * 获取默认数据源名称
12 | */
13 | getDefaultName(): JString;
14 |
15 | /**
16 | * 根据名称获取数据源
17 | *
18 | * @param name 数据源名称
19 | */
20 | getDataSource(name: JString): JdbcDataSource | null;
21 |
22 | /**
23 | * 判断数据源是否存在
24 | *
25 | * @param name 数据源名称
26 | */
27 | hasDataSource(name: JString): JBoolean;
28 |
29 | /**
30 | * 获取所有数据源名称
31 | */
32 | allNames(): JSet;
33 |
34 | /**
35 | * 获取数据源信息
36 | *
37 | * @param name 数据源名称
38 | */
39 | getInfo(name: JString): JdbcInfo
40 |
41 | /**
42 | * 获取所有数据源信息
43 | */
44 | allInfos(): JMap;
45 |
46 | /**
47 | * 获取数据源信息
48 | * @param name 数据源名称
49 | */
50 | getStatus(name: JString): JdbcDataSourceStatus;
51 |
52 | /**
53 | * 获取数据源状态
54 | */
55 | allStatus(): JMap;
56 | }
57 |
58 | /**
59 | * JDBC数据源管理对象
60 | */
61 | declare const JdbcDatabase: JdbcDatabase;
62 |
--------------------------------------------------------------------------------
/clever-graaljs-types/src/fast-api/data-jdbc/JdbcDatabaseManage.d.ts:
--------------------------------------------------------------------------------
1 | interface JdbcDatabaseManage {
2 | /**
3 | * 设置默认数据源
4 | *
5 | * @param defaultName 默认数据源名称
6 | * @return 默认数据源对象
7 | */
8 | setDefault(defaultName: JString): JdbcDataSource;
9 |
10 | /**
11 | * 设置默认数据源
12 | *
13 | * @param defaultName 默认数据源名称
14 | * @param jdbcDataSource 默认数据源对象
15 | */
16 | setDefault(defaultName: JString, jdbcDataSource: JdbcDataSource): void;
17 |
18 | /**
19 | * 添加数据源
20 | *
21 | * @param name 数据源名称
22 | * @param jdbcDataSource 数据源
23 | */
24 | add(name: JString, jdbcDataSource: JdbcDataSource): void;
25 |
26 | /**
27 | * 添加数据源
28 | *
29 | * @param name 数据源名称
30 | * @param config 数据源配置
31 | */
32 | add(name: JString, config: JdbcConfig): JdbcDataSource;
33 |
34 | /**
35 | * 删除数据源
36 | *
37 | * @param name 数据源名称
38 | */
39 | del(name: JString): JBoolean;
40 |
41 | /**
42 | * 删除所有数据源
43 | */
44 | delAll(): void;
45 | }
46 |
47 | /**
48 | * JDBC数据源管理对象
49 | */
50 | declare const JdbcDatabaseManage: JdbcDatabaseManage;
51 |
--------------------------------------------------------------------------------
/clever-graaljs-types/src/fast-api/data-jdbc/JdbcInfo.d.ts:
--------------------------------------------------------------------------------
1 | interface JdbcInfo extends JObject {
2 | /** 数据库驱动名称: com.mysql.cj.jdbc.Driver */
3 | getDriverClassName(): JString;
4 |
5 | /** 数据库链接url: jdbc:mysql://host:3306/db-name */
6 | getJdbcUrl(): JString;
7 |
8 | /** 是否自动提交 */
9 | isAutoCommit(): JBoolean;
10 |
11 | /** 是否只读 */
12 | isReadOnly(): JBoolean;
13 |
14 | /** 数据库类型 */
15 | getDbType(): DbType;
16 |
17 | /** 数据源是否关闭 */
18 | isClosed(): JBoolean;
19 | }
20 |
--------------------------------------------------------------------------------
/clever-graaljs-types/src/fast-api/data-jdbc/MyBatisJdbcDatabaseManage.d.ts:
--------------------------------------------------------------------------------
1 | interface MyBatisJdbcDatabaseManage {
2 | /**
3 | * 设置默认数据源
4 | *
5 | * @param defaultName 默认数据源名称
6 | * @return 默认数据源对象
7 | */
8 | setDefault(defaultName: JString): MyBatisJdbcDataSource;
9 |
10 | /**
11 | * 设置默认数据源
12 | *
13 | * @param defaultName 默认数据源名称
14 | * @param myBatisJdbcDataSource 默认数据源对象
15 | */
16 | setDefault(defaultName: JString, myBatisJdbcDataSource: MyBatisJdbcDataSource): MyBatisJdbcDataSource;
17 |
18 | /**
19 | * 添加数据源
20 | *
21 | * @param name 数据源名称
22 | * @param myBatisJdbcDataSource MyBatis数据源
23 | */
24 | add(name: JString, myBatisJdbcDataSource: MyBatisJdbcDataSource): MyBatisJdbcDataSource;
25 |
26 | /**
27 | * 添加数据源
28 | *
29 | * @param name 数据源名称
30 | * @param config 数据源配置
31 | * @param mapperSql mapper sql资源
32 | */
33 | add(name: JString, config: JdbcConfig, mapperSql: MyBatisMapperSql): MyBatisJdbcDataSource;
34 |
35 | /**
36 | * 删除数据源
37 | *
38 | * @param name 数据源名称
39 | */
40 | del(name: JString): JBoolean;
41 |
42 | /**
43 | * 删除所有数据源
44 | */
45 | delAll(): void;
46 | }
47 |
48 | declare const MyBatisJdbcDatabaseManage: MyBatisJdbcDatabaseManage;
49 |
--------------------------------------------------------------------------------
/clever-graaljs-types/src/fast-api/data-jdbc/SqlSourceUtils.d.ts:
--------------------------------------------------------------------------------
1 | interface SqlSourceUtils {
2 | /**
3 | * 获取 SqlSource
4 | *
5 | * @param xmlSql MyBatis XML sql
6 | */
7 | getSqlSource(xmlSql: JString): SqlSource;
8 |
9 | /**
10 | * 获取 BoundSql
11 | *
12 | * @param xmlSql MyBatis XML sql
13 | * @param parameter SQL参数
14 | */
15 | getBoundSql(xmlSql: JString, parameter: object): BoundSql;
16 | }
17 |
18 | declare const SqlSourceUtils: SqlSourceUtils;
19 |
--------------------------------------------------------------------------------
/clever-graaljs-types/src/fast-api/data-redis/RedisDataSourceStatus.d.ts:
--------------------------------------------------------------------------------
1 | interface RedisDataSourceStatus {
2 | /** 总连接数 */
3 | getTotalConnections(): JInt;
4 |
5 | /** 活动连接数 */
6 | getActiveConnections(): JInt;
7 |
8 | /** 空闲连接数 */
9 | getIdleConnections(): JInt;
10 |
11 | /** 等待索取连接的线程数 */
12 | getThreadsAwaitingConnection(): JInt;
13 |
14 | /** 最大借用等待时间(毫秒) */
15 | getMaxBorrowWaitTimeMillis(): JLong;
16 |
17 | /** 平均借用等待时间(毫秒) */
18 | getMeanBorrowWaitTimeMillis(): JLong;
19 |
20 | /** 平均活动时间(毫秒) */
21 | getMeanActiveTimeMillis(): JLong | null;
22 |
23 | /** 平均空闲时间(毫秒) */
24 | getMeanIdleTimeMillis(): JLong | null;
25 | }
--------------------------------------------------------------------------------
/clever-graaljs-types/src/fast-api/data-redis/RedisDatabase.d.ts:
--------------------------------------------------------------------------------
1 | interface RedisDatabase {
2 | /**
3 | * 获取默认数据源
4 | */
5 | getDefault(): RedisDataSource;
6 |
7 | /**
8 | * 获取默认数据源名称
9 | */
10 | getDefaultName(): JString;
11 |
12 | /**
13 | * 根据名称获取数据源
14 | *
15 | * @param name 数据源名称
16 | */
17 | getDataSource(name: JString): RedisDataSource;
18 |
19 | /**
20 | * 判断数据源是否存在
21 | *
22 | * @param name 数据源名称
23 | */
24 | hasDataSource(name: JString): JBoolean;
25 |
26 | /**
27 | * 获取所有数据源名称
28 | */
29 | allNames(): JSet;
30 |
31 | /**
32 | * 获取数据源信息
33 | *
34 | * @param name 数据源名称
35 | */
36 | getInfo(name: JString): RedisInfo;
37 |
38 | /**
39 | * 获取所有数据源信息
40 | */
41 | allInfos(): JMap;
42 |
43 | /**
44 | * 获取数据源状态
45 | *
46 | * @param name 数据源名称
47 | */
48 | getStatus(name: JString): RedisDataSourceStatus;
49 |
50 | /**
51 | * 获取数据源状态
52 | */
53 | allStatus(): JMap;
54 | }
55 |
56 | /**
57 | * Redis数据源管理对象
58 | */
59 | declare const RedisDatabase: RedisDatabase;
60 |
--------------------------------------------------------------------------------
/clever-graaljs-types/src/fast-api/data-redis/RedisDatabaseManage.d.ts:
--------------------------------------------------------------------------------
1 | interface RedisDatabaseManage {
2 | /**
3 | * 设置默认数据源
4 | *
5 | * @param defaultName 默认数据源名称
6 | * @return 默认数据源对象
7 | */
8 | setDefault(defaultName: JString): RedisDataSource;
9 |
10 | /**
11 | * 添加数据源
12 | *
13 | * @param name 数据源名称
14 | * @param config 数据源配置
15 | */
16 | add(name: JString, config: RedisConfig): RedisDataSource;
17 |
18 | /**
19 | * 删除数据源
20 | *
21 | * @param name 数据源名称
22 | */
23 | del(name: JString): JBoolean;
24 |
25 | /**
26 | * 删除所有数据源
27 | */
28 | delAll(): void;
29 | }
30 |
31 | /**
32 | * Redis数据源管理对象
33 | */
34 | declare const RedisDatabaseManage: RedisDatabaseManage;
35 |
--------------------------------------------------------------------------------
/clever-graaljs-types/src/fast-api/meta-data/MateDataManage.d.ts:
--------------------------------------------------------------------------------
1 | interface MateDataManage {
2 | /**
3 | * 设置默认数据源元数据
4 | *
5 | * @param defaultName 默认数据源元数据名称
6 | */
7 | setDefault(defaultName: JString): MateDataService;
8 |
9 | /**
10 | * 获取默认数据源元数据
11 | */
12 | getDefault(): MateDataService;
13 |
14 | /**
15 | * 获取默认数据源元数据名称
16 | */
17 | getDefaultName(): JString;
18 |
19 | /**
20 | * 根据名称获取数据源元数据
21 | *
22 | * @param name 数据源元数据名称
23 | */
24 | getMateDataService(name: String): MateDataService;
25 |
26 | /**
27 | * 判断数据源元数据是否存在
28 | *
29 | * @param name 数据源元数据名称
30 | */
31 | hasMateDataService(name: String): JBoolean;
32 |
33 | /**
34 | * 删除数据源元数据
35 | *
36 | * @param name 数据源名称
37 | */
38 | del(name: JString): JBoolean;
39 |
40 | /**
41 | * 删除所有数据源元数据
42 | */
43 | delAll(): void;
44 |
45 | /**
46 | * 获取所有数据源元数据名称
47 | */
48 | allNames(): JSet;
49 | }
50 |
51 | /**
52 | * 数据源元数据管理对象
53 | */
54 | declare const MateDataManage: MateDataManage;
55 |
--------------------------------------------------------------------------------
/clever-graaljs-types/src/fast-api/meta-data/MateDataService.d.ts:
--------------------------------------------------------------------------------
1 | interface MateDataService {
2 | /**
3 | * 重新加载数据库元数据
4 | */
5 | reload(): void;
6 |
7 | getDataBaseSummaryList(): JList;
8 |
9 | /**
10 | * @param database 数据库名称(schema名称)
11 | */
12 | getDataBaseSummary(database: JString): DataBaseSummary;
13 |
14 | /**
15 | * @param database 数据库名称(schema名称)
16 | * @param tableName 表名称
17 | */
18 | getTableSchema(database: JString, tableName: JString): TableSchema;
19 | }
20 |
--------------------------------------------------------------------------------
/clever-graaljs-types/src/fast-api/meta-data/model/DataBaseSummary.d.ts:
--------------------------------------------------------------------------------
1 | interface DataBaseSummary {
2 | /**
3 | * 数据库名称
4 | */
5 | getSchemaName(): JString;
6 |
7 | /**
8 | * 数据库表名称
9 | */
10 | getTableList(): JList;
11 |
12 | /**
13 | * @param tableName 表名称
14 | */
15 | getTableSchema(tableName: JString): TableSchema;
16 | }
17 |
--------------------------------------------------------------------------------
/clever-graaljs-types/src/fast-api/meta-data/model/TableSchema.d.ts:
--------------------------------------------------------------------------------
1 | interface TableSchema {
2 | /**
3 | * 是否是视图
4 | */
5 | isView(): JBoolean;
6 |
7 | /**
8 | * 数据库名称
9 | */
10 | getSchemaName(): JString;
11 |
12 | /**
13 | * 表名称
14 | */
15 | getTableName(): JString;
16 |
17 | /**
18 | * 表注释说明
19 | */
20 | getDescription(): JString;
21 |
22 | /**
23 | * 其他列属性
24 | */
25 | getAttributes(): JMap;
26 |
27 | /**
28 | * 数据库列
29 | */
30 | getColumnList(): JList;
31 | }
--------------------------------------------------------------------------------
/clever-graaljs-types/src/fast-api/mvc/HttpContext.d.ts:
--------------------------------------------------------------------------------
1 | interface HttpContext {
2 | /**
3 | * HTTP 请求对象
4 | */
5 | readonly request: HttpRequestWrapper;
6 |
7 | /**
8 | * HTTP 响应对象
9 | */
10 | readonly response: HttpResponseWrapper;
11 |
12 | /**
13 | * HTTP Session对象
14 | */
15 | readonly session: HttpSessionWrapper;
16 | /**
17 | * Servlet 容器对象
18 | */
19 | readonly servletContext: ServletContextWrapper;
20 | }
21 |
22 | /**
23 | * http请求上下文,仅在实现http接口时可用
24 | */
25 | declare const ctx: HttpContext;
26 |
--------------------------------------------------------------------------------
/clever-graaljs-types/src/fast-api/mvc/model/request/QueryByPage.d.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * 查询分页参数
3 | */
4 | interface QueryByPage extends Partial {
5 | /**
6 | * 每页的数据量(1 <= pageSize <= 100)
7 | */
8 | pageSize?: JInt;
9 | /**
10 | * 当前页面的页码数(pageNo >= 1)
11 | */
12 | pageNo?: JInt;
13 | /**
14 | * 是否进行 count 查询
15 | */
16 | isSearchCount?: JBoolean;
17 |
18 | /** 查询参数 */
19 | [name: string]: any;
20 | }
21 |
--------------------------------------------------------------------------------
/clever-graaljs-types/src/fast-api/mvc/model/request/QueryBySort.d.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * 排序类型
3 | */
4 | enum SortType {
5 | /**
6 | * 由小到大排序
7 | */
8 | ASC = "ASC",
9 | /**
10 | * 由大到小排序
11 | */
12 | DESC = "DESC",
13 | }
14 |
15 | /**
16 | * 查询排序参数
17 | */
18 | interface QueryBySort {
19 | /**
20 | * 排序字段(单字段排序-低优先级)
21 | */
22 | orderField?: JString;
23 | /**
24 | * 排序类型ASC DESC(单字段排序-低优先级)
25 | */
26 | sort?: SortType;
27 |
28 | /**
29 | * 排序字段集合(多字段排序-高优先级)
30 | */
31 | orderFields?: Array;
32 | /**
33 | * 排序类型 ASC DESC(多字段排序-高优先级)
34 | */
35 | sorts?: Array;
36 |
37 | /**
38 | * 排序字段 映射Map
39 | */
40 | fieldsMapping: { [name: string]: JString };
41 | }
42 |
--------------------------------------------------------------------------------
/clever-graaljs-types/src/fast-api/spring-common/SpringContext.d.ts:
--------------------------------------------------------------------------------
1 | interface SpringContext {
2 | /**
3 | * 从静态变量applicationContext中取得Bean, 自动转型为所赋值对象的类型.
4 | *
5 | * @param name Bean名称
6 | * @return 返回Bean对象
7 | */
8 | getBean(name: JString): T;
9 |
10 | /**
11 | * 从静态变量applicationContext中取得Bean, 自动转型为所赋值对象的类型.
12 | *
13 | * @param require 是否等待获取ApplicationContext
14 | * @param name Bean名称
15 | * @return 返回Bean对象
16 | */
17 | getBean(require: JBoolean, name: JString): T;
18 |
19 | /**
20 | * 从静态变量applicationContext中取得Bean, 自动转型为所赋值对象的类型.
21 | *
22 | * @param requiredType Bean类型
23 | * @return 返回Bean对象
24 | */
25 | getBean(requiredType: JClass): T;
26 |
27 | /**
28 | * 从静态变量applicationContext中取得Bean, 自动转型为所赋值对象的类型.
29 | *
30 | * @param require 是否等待获取ApplicationContext
31 | * @param requiredType Bean类型
32 | * @return 返回Bean对象
33 | */
34 | getBean(require: JBoolean, requiredType: JClass): T;
35 | }
36 |
37 | declare const SpringContext: SpringContext;
38 |
--------------------------------------------------------------------------------
/clever-graaljs-types/src/fast-api/task/JobData.d.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * 定时任务数据
3 | */
4 | interface JobData extends JMap {
5 | [key: any]: any;
6 | }
7 |
8 | /**
9 | * 当前定时任务数据
10 | */
11 | declare const jobData: JobData;
12 |
--------------------------------------------------------------------------------
/clever-graaljs-types/src/io/micrometer/core/instrument/Counter.d.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * 累计指标值
3 | */
4 | interface Counter extends JObject {
5 | io_micrometer_core_instrument_Counter: "io.micrometer.core.instrument.Counter";
6 |
7 | increment(): void;
8 |
9 | increment(amount: JDouble): void;
10 |
11 | count(): JDouble;
12 | }
13 |
14 | /**
15 | * 累计指标值Builder
16 | */
17 | interface CounterBuilder extends JObject {
18 | io_micrometer_core_instrument_Counter_Builder: "io.micrometer.core.instrument.Counter.Builder";
19 |
20 | tags(...tags: JString[]): CounterBuilder;
21 |
22 | tags(tags: JIterable): CounterBuilder;
23 |
24 | tag(key: JString, value: JString): CounterBuilder;
25 |
26 | description(description: JString): CounterBuilder;
27 |
28 | baseUnit(unit: JString): CounterBuilder;
29 |
30 | register(registry: MeterRegistry): Counter;
31 | }
32 |
--------------------------------------------------------------------------------
/clever-graaljs-types/src/io/micrometer/core/instrument/Gauge.d.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * 瞬时值指标
3 | */
4 | interface Gauge extends Meter {
5 | io_micrometer_core_instrument_Gauge: "io.micrometer.core.instrument.Gauge";
6 |
7 | value(): JDouble;
8 | }
9 |
10 | /**
11 | * 瞬时值指标Builder
12 | */
13 | interface GaugeBuilder extends JObject {
14 | io_micrometer_core_instrument_Gauge_Builder: "io.micrometer.core.instrument.Gauge.Builder";
15 |
16 | tags(...tags: JString[]): GaugeBuilder;
17 |
18 | tags(tags: JIterable): GaugeBuilder;
19 |
20 | tag(key: JString, value: JString): GaugeBuilder;
21 |
22 | description(description: JString): GaugeBuilder;
23 |
24 | baseUnit(unit: JString): GaugeBuilder;
25 |
26 | strongReference(strong: JBoolean): GaugeBuilder;
27 |
28 | register(registry: MeterRegistry): Gauge;
29 | }
30 |
--------------------------------------------------------------------------------
/clever-graaljs-types/src/io/micrometer/core/instrument/Meter.d.ts:
--------------------------------------------------------------------------------
1 | interface Meter extends JObject {
2 | io_micrometer_core_instrument_Meter: "io.micrometer.core.instrument.Meter";
3 |
4 | close(): void;
5 |
6 | getId(): MeterId;
7 | }
8 |
9 | interface MeterType extends JObject {
10 | io_micrometer_core_instrument_Meter_Type: "io.micrometer.core.instrument.Meter.Type";
11 |
12 | name(): JString;
13 |
14 | ordinal(): JInt;
15 | }
16 |
17 | interface MeterTag extends JObject {
18 | io_micrometer_core_instrument_Tag: "io.micrometer.core.instrument.Tag";
19 |
20 | getKey(): JString;
21 |
22 | getValue(): JString;
23 | }
24 |
25 | interface MeterId extends JObject {
26 | io_micrometer_core_instrument_Meter_Id: "io.micrometer.core.instrument.Meter.Id";
27 |
28 | getName(): JString;
29 |
30 | getType(): MeterType;
31 |
32 | getTag(key: JString): JString;
33 |
34 | getTags(): JList;
35 |
36 | getBaseUnit(): JString;
37 |
38 | getDescription(): JString;
39 | }
40 |
--------------------------------------------------------------------------------
/clever-graaljs-types/src/io/micrometer/core/instrument/MeterRegistry.d.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * 监控指标收集器
3 | */
4 | interface MeterRegistry extends JObject {
5 | io_micrometer_core_instrument_MeterRegistry: "io.micrometer.core.instrument.MeterRegistry";
6 |
7 | close(): void;
8 |
9 | isClosed(): boolean;
10 |
11 | remove(id: MeterId): Meter;
12 |
13 | remove(meter: Meter): Meter
14 | }
15 |
--------------------------------------------------------------------------------
/clever-graaljs-types/src/java/io/JByteArrayInputStream.d.ts:
--------------------------------------------------------------------------------
1 | interface JByteArrayInputStream extends JInputStream {
2 | java_io_ByteArrayInputStream: "java.io.ByteArrayInputStream";
3 | }
4 |
--------------------------------------------------------------------------------
/clever-graaljs-types/src/java/io/JByteArrayOutputStream.d.ts:
--------------------------------------------------------------------------------
1 | interface JByteArrayOutputStream extends JOutputStream {
2 | java_io_ByteArrayOutputStream: "java.io.ByteArrayOutputStream";
3 | }
4 |
--------------------------------------------------------------------------------
/clever-graaljs-types/src/java/io/JCloseable.d.ts:
--------------------------------------------------------------------------------
1 | interface JCloseable extends JObject {
2 | java_io_Closeable: "java.io.Closeable";
3 |
4 | /**
5 | * 关闭此流并释放与此流关联的所有系统资源
6 | */
7 | close(): void;
8 | }
--------------------------------------------------------------------------------
/clever-graaljs-types/src/java/io/JFileInputStream.d.ts:
--------------------------------------------------------------------------------
1 | interface JFileInputStream extends JInputStream {
2 | java_io_FileInputStream: "java.io.FileInputStream";
3 | }
4 |
--------------------------------------------------------------------------------
/clever-graaljs-types/src/java/io/JFileOutputStream.d.ts:
--------------------------------------------------------------------------------
1 | interface JFileOutputStream extends JOutputStream {
2 | java_io_FileOutputStream: "java.io.FileOutputStream";
3 | }
4 |
--------------------------------------------------------------------------------
/clever-graaljs-types/src/java/io/JInputStream.d.ts:
--------------------------------------------------------------------------------
1 | interface JInputStream extends JCloseable {
2 | java_io_InputStream: "java.io.InputStream";
3 |
4 | /**
5 | * 返回此输入流方法的下一个调用方可以不受阻塞地从此输入流读取(或跳过)的字节数
6 | */
7 | available(): JInt;
8 |
9 | /**
10 | * 在此输入流中标记当前的位置
11 | */
12 | mark(readLimit: JInt): void;
13 |
14 | /**
15 | * 测试此输入流是否支持 mark 和 reset 方法
16 | */
17 | markSupported(): JBoolean;
18 |
19 | /**
20 | * 从输入流读取下一个数据字节
21 | */
22 | read(): JInt;
23 |
24 | /**
25 | * 从输入流中读取一定数量的字节并将其存储在缓冲区数组 b 中
26 | */
27 | read(b: JByte[]): JInt;
28 |
29 | /**
30 | * 将输入流中最多 len 个数据字节读入字节数组
31 | */
32 | read(b: JByte[], off: JInt, len: JInt): JInt;
33 |
34 | /**
35 | * 将此流重新定位到对此输入流最后调用 mark 方法时的位置
36 | */
37 | reset(): void;
38 |
39 | /**
40 | * 跳过和放弃此输入流中的 n 个数据字节
41 | */
42 | skip(n: JLong): JLong;
43 | }
44 |
--------------------------------------------------------------------------------
/clever-graaljs-types/src/java/io/JInputStreamReader.d.ts:
--------------------------------------------------------------------------------
1 | interface JInputStreamReader extends JReader {
2 | java_io_InputStreamReader: "java.io.InputStreamReader";
3 |
4 | /**
5 | * 返回此流使用的字符编码的名称
6 | */
7 | getEncoding(): JString;
8 | }
9 |
--------------------------------------------------------------------------------
/clever-graaljs-types/src/java/io/JOutputStream.d.ts:
--------------------------------------------------------------------------------
1 | interface JOutputStream extends JCloseable {
2 | java_io_OutputStream: "java.io.OutputStream";
3 |
4 | /**
5 | * 刷新此输出流并强制写出所有缓冲的输出字节
6 | */
7 | flush(): void;
8 |
9 | /**
10 | * 将 b.length 个字节从指定的字节数组写入此输出流
11 | */
12 | write(b: JByte[]): void;
13 |
14 | /**
15 | * 将指定字节数组中从偏移量 off 开始的 len 个字节写入此输出流
16 | */
17 | write(b: JByte[], off: JInt, len: JInt): void;
18 |
19 | /**
20 | * 将指定的字节写入此输出流
21 | */
22 | write(b: JInt): void;
23 | }
24 |
--------------------------------------------------------------------------------
/clever-graaljs-types/src/java/io/JOutputStreamWriter.d.ts:
--------------------------------------------------------------------------------
1 | interface JOutputStreamWriter extends JWriter {
2 | java_io_OutputStreamWriter: "java.io.OutputStreamWriter";
3 |
4 | /**
5 | * 返回此流使用的字符编码的名称
6 | */
7 | getEncoding(): JString;
8 | }
9 |
--------------------------------------------------------------------------------
/clever-graaljs-types/src/java/io/JPrintWriter.d.ts:
--------------------------------------------------------------------------------
1 | interface JPrintWriter extends JWriter {
2 | java_io_PrintWriter: "java.io.PrintWriter";
3 |
4 | /**
5 | * 将指定字符追加到此 writer
6 | */
7 | append(c: JChar): JPrintWriter;
8 |
9 | /**
10 | * 将指定字符序列追加到此 writer
11 | * @param csq
12 | */
13 | append(csq: JString): JPrintWriter;
14 |
15 | /**
16 | * 将指定字符序列的子序列追加到此 writer.Appendable
17 | */
18 | append(csq: JString, start: JInt, end: JInt): JPrintWriter;
19 |
20 | /**
21 | * 如果流没有关闭,则刷新流且检查其错误状态
22 | */
23 | checkError(): JBoolean;
24 |
25 | /**
26 | * 使用指定格式字符串和参数将一个格式化字符串写入此 writer 中
27 | */
28 | format(format: JString, ...args: JObject[]): JPrintWriter;
29 |
30 | /**
31 | * 打印变量值
32 | */
33 | print(obj: any): void;
34 |
35 | /**
36 | * 使用指定格式字符串和参数将格式化的字符串写入此 writer 的便捷方法
37 | */
38 | printf(format: JString, ...args: Object[]): JPrintWriter;
39 |
40 | /**
41 | * 通过写入行分隔符字符串终止当前行
42 | */
43 | println(): void;
44 |
45 | /**
46 | * 打印变量值,然后终止该行
47 | */
48 | println(obj: any): void;
49 | }
50 |
--------------------------------------------------------------------------------
/clever-graaljs-types/src/java/io/JReader.d.ts:
--------------------------------------------------------------------------------
1 | interface JReader extends JCloseable {
2 | java_io_Reader: "java.io.Reader";
3 |
4 | /**
5 | * 标记流中的当前位置
6 | */
7 | mark(readAheadLimit: JInt): void;
8 |
9 | /**
10 | * 测试此输入流是否支持 mark 和 reset 方法
11 | */
12 | markSupported(): JBoolean;
13 |
14 | /**
15 | * 读取单个字符
16 | */
17 | read(): JInt;
18 |
19 | /**
20 | * 将字符读入数组
21 | */
22 | read(cBuf: JChar[]): JInt;
23 |
24 | /**
25 | * 将字符读入数组的某一部分
26 | */
27 | read(cBuf: JChar[], off: JInt, len: JInt): JInt;
28 |
29 | /**
30 | * 判断是否准备读取此流
31 | */
32 | ready(): JBoolean;
33 |
34 | /**
35 | * 重置该流
36 | */
37 | reset(): void;
38 |
39 | /**
40 | * 跳过字符
41 | */
42 | skip(n: JLong): JLong;
43 | }
44 |
--------------------------------------------------------------------------------
/clever-graaljs-types/src/java/io/JWriter.d.ts:
--------------------------------------------------------------------------------
1 | interface JWriter extends JCloseable {
2 | java_io_Writer: "java.io.Writer";
3 |
4 | /**
5 | * 将指定字符追加到此 writer
6 | */
7 | append(c: JChar): JWriter;
8 |
9 | /**
10 | * 将指定字符序列追加到此 writer
11 | * @param csq
12 | */
13 | append(csq: JString): JWriter;
14 |
15 | /**
16 | * 将指定字符序列的子序列追加到此 writer.Appendable
17 | */
18 | append(csq: JString, start: JInt, end: JInt): JWriter;
19 |
20 | /**
21 | * 刷新此流
22 | */
23 | flush(): void;
24 |
25 | /**
26 | * 写入字符数组
27 | */
28 | write(cBuf: JChar[]): void;
29 |
30 | /**
31 | * 写入字符数组的某一部分
32 | */
33 | write(cBuf: JChar[], off: JInt, len: JInt): void;
34 |
35 | /**
36 | * 写入单个字符
37 | */
38 | write(c: JInt): void;
39 |
40 | /**
41 | * 写入字符串
42 | */
43 | write(str: JString): void;
44 |
45 | /**
46 | * 写入字符串的某一部分
47 | */
48 | write(str: JString, off: JInt, len: JInt): void;
49 | }
50 |
--------------------------------------------------------------------------------
/clever-graaljs-types/src/java/lang/JCharSequence.d.ts:
--------------------------------------------------------------------------------
1 | interface JCharSequence extends JObject {
2 | java_lang_Writer: "java.lang.CharSequence";
3 |
4 | /**
5 | * 返回指定索引的 char 值
6 | */
7 | charAt(index: JInt): JChar;
8 |
9 | /**
10 | * 返回此字符序列的长度
11 | */
12 | length(): JInt;
13 |
14 | /**
15 | * 返回一个新的 CharSequence,它是此序列的子序列
16 | */
17 | subSequence(start: JInt, end: JInt): JCharSequence;
18 | }
19 |
--------------------------------------------------------------------------------
/clever-graaljs-types/src/java/lang/JClass.d.ts:
--------------------------------------------------------------------------------
1 | interface JClass extends JObject {
2 | java_lang_Class: "java.lang.Class";
3 |
4 | /**
5 | * 返回由Java语言规范定义的基础类的规范名称
6 | */
7 | getCanonicalName(): JString;
8 |
9 | /**
10 | * 返回由类对象表示的实体(类,接口,数组类,原始类型或空白)的名称
11 | */
12 | getName(): JString;
13 |
14 | /**
15 | * 返回源代码中给出的基础类的简单名称
16 | */
17 | getSimpleName(): JString;
18 |
19 | /**
20 | * 为此类型的名称返回一个内容丰富的字符串
21 | */
22 | getTypeName(): JString;
23 |
24 | /**
25 | * 如果此 类对象表示注释类型,则返回true
26 | */
27 | isAnnotation(): JBoolean;
28 |
29 | /**
30 | * 类对象是否表示数组类
31 | */
32 | isArray(): JBoolean;
33 |
34 | /**
35 | * 当且仅当该类在源代码中被声明为枚举时才返回true
36 | */
37 | isEnum(): JBoolean;
38 |
39 | /**
40 | * 确定指定的Object是否与此Object表示的对象分配类
41 | */
42 | isInstance(obj: any): JBoolean;
43 |
44 | /**
45 | * 类对象表示接口类型
46 | */
47 | isInterface(): JBoolean;
48 |
49 | /**
50 | * 返回true当且仅当基础类是本地类时
51 | */
52 | isLocalClass(): JBoolean;
53 |
54 | /**
55 | * 返回true当且仅当基础类是成员类时
56 | */
57 | isMemberClass(): JBoolean;
58 |
59 | /**
60 | * 确定类对象表示一个基本类型
61 | */
62 | isPrimitive(): JBoolean;
63 |
64 | /**
65 | * 如果这个类是一个合成类,返回true
66 | */
67 | isSynthetic(): JBoolean;
68 | }
69 |
--------------------------------------------------------------------------------
/clever-graaljs-types/src/java/lang/JComparable.d.ts:
--------------------------------------------------------------------------------
1 | interface JComparable {
2 | java_lang_Comparable: "java.lang.Comparable"
3 |
4 | /**
5 | * 将此对象与指定的对象进行比较以进行排序
6 | * this 早于 参数o 返回-1
7 | * this 晚于 参数o 返回 1
8 | * 时间相等返回0
9 | */
10 | compareTo(o: T): JInt;
11 | }
12 |
--------------------------------------------------------------------------------
/clever-graaljs-types/src/java/lang/JObject.d.ts:
--------------------------------------------------------------------------------
1 | interface JObject {
2 | java_lang_Object: "java.lang.Object";
3 |
4 | /**
5 | * 判断对象值是否相同
6 | */
7 | equals(obj: any): JBoolean;
8 |
9 | /**
10 | * 返回对象的哈希码值
11 | */
12 | hashCode(): JInt;
13 |
14 | /**
15 | * 返回对象的字符串表示形式
16 | */
17 | toString(): JString;
18 |
19 | /**
20 | * 获取对象的 Class
21 | */
22 | getClass(): JClass;
23 | }
24 |
--------------------------------------------------------------------------------
/clever-graaljs-types/src/java/lang/JThread.d.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * Java线程对象
3 | */
4 | interface JThread extends JObject {
5 | java_lang_Thread: "java.lang.Thread";
6 |
7 | start(): void;
8 |
9 | run(): void;
10 |
11 | stop(): void;
12 |
13 | interrupt(): void;
14 |
15 | isInterrupted(): JBoolean;
16 |
17 | isAlive(): JBoolean;
18 |
19 | suspend(): void;
20 |
21 | resume(): void;
22 |
23 | setPriority(newPriority: JInt): void;
24 |
25 | getPriority(): JInt;
26 |
27 | setName(name: JString): void;
28 |
29 | getName(): JString;
30 |
31 | countStackFrames(): JInt;
32 |
33 | join(millis: JLong): void;
34 |
35 | join(millis: JLong, nanos: JInt): void;
36 |
37 | join(): void;
38 |
39 | setDaemon(on: JBoolean): void;
40 |
41 | isDaemon(): JBoolean;
42 |
43 | checkAccess(): void;
44 |
45 | getId(): JLong;
46 | }
47 |
--------------------------------------------------------------------------------
/clever-graaljs-types/src/java/lang/JThrowable.d.ts:
--------------------------------------------------------------------------------
1 | interface JThrowable extends JObject {
2 | java_lang_Throwable: "java.lang.Throwable";
3 |
4 | /**
5 | * 返回此 throwable 的 cause;如果 cause 不存在或未知,则返回 null
6 | */
7 | getCause(): JThrowable;
8 |
9 | /**
10 | * 返回此 throwable 的详细消息字符串
11 | */
12 | getMessage(): JString;
13 |
14 | /**
15 | * 将此 throwable 及其追踪输出至标准错误流
16 | */
17 | printStackTrace(): void;
18 |
19 | /**
20 | * 返回此 throwable 的简短描述
21 | */
22 | toString(): JString;
23 | }
24 |
--------------------------------------------------------------------------------
/clever-graaljs-types/src/java/math/JRoundingMode.d.ts:
--------------------------------------------------------------------------------
1 | declare enum JRoundingMode {
2 | /**
3 | * 向正无穷方向对齐
4 | */
5 | UP = 0,
6 | /**
7 | * 向负无穷方向对齐
8 | */
9 | DOWN = 1,
10 | /**
11 | * 向原点的反方向对齐
12 | */
13 | CEILING = 2,
14 | /**
15 | * 向原点方向对齐
16 | */
17 | FLOOR = 3,
18 | /**
19 | * “四舍五入”,如果舍弃部分的最高位大于等于 5,向正无穷方向对齐,否则向负无穷方向对齐
20 | */
21 | HALF_UP = 4,
22 | /**
23 | * 五舍六入”,如果舍弃部分的最高位大于 5,向正无穷方向对齐,否则向负无穷方向对齐
24 | */
25 | HALF_DOWN = 5,
26 | /**
27 | * “四舍六入五成双”,如果舍弃部分的最高位大于等于六,或等于五并且前一位是奇数,向正无穷方向对齐,否则向负无穷方向对齐
28 | */
29 | HALF_EVEN = 6,
30 | /**
31 | * 如果需要舍入,就抛出算术异常
32 | */
33 | UNNECESSARY = 7,
34 | }
--------------------------------------------------------------------------------
/clever-graaljs-types/src/java/sql/JSqlDate.d.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * java.sql.Date 类型,不要在JavaScript/TypeScript环境中创建该类型对象
3 | * 请使用内置对象“Interop”创建该类型实例
4 | * @see Interop
5 | */
6 | interface JSqlDate extends JDate {
7 | java_sql_Time: "java.sql.Date";
8 | }
--------------------------------------------------------------------------------
/clever-graaljs-types/src/java/sql/JSqlTime.d.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * java.sql.Time 类型,不要在JavaScript/TypeScript环境中创建该类型对象
3 | * 请使用内置对象“Interop”创建该类型实例
4 | * @see Interop
5 | */
6 | interface JSqlTime extends JDate {
7 | java_sql_Time: "java.sql.Time";
8 |
9 | /**
10 | * JSqlTime不支持的API
11 | */
12 | getDate(): JInt;
13 |
14 | /**
15 | * JSqlTime不支持的API
16 | */
17 | getYear(): JInt;
18 |
19 | /**
20 | * JSqlTime不支持的API
21 | */
22 | getMonth(): JInt;
23 |
24 | /**
25 | * JSqlTime不支持的API
26 | */
27 | getDay(): JInt;
28 | }
--------------------------------------------------------------------------------
/clever-graaljs-types/src/java/sql/JSqlTimestamp.d.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * java.sql.Timestamp 类型,不要在JavaScript/TypeScript环境中创建该类型对象
3 | * 请使用内置对象“Interop”创建该类型实例
4 | * @see Interop
5 | */
6 | interface JSqlTimestamp extends JDate {
7 | java_sql_Timestamp: "java.sql.Timestamp";
8 |
9 | /**
10 | * 指示此 Timestamp 对象是否晚于给定的 Timestamp 对象
11 | */
12 | after(ts: JSqlTimestamp): JBoolean;
13 |
14 | /**
15 | * 指示此 Timestamp 对象是否早于给定的 Timestamp 对象
16 | */
17 | before(ts: JSqlTimestamp): JBoolean;
18 |
19 | /**
20 | * 将此 Timestamp 对象与给定的 Date(必须为 Timestamp 对象)相比较
21 | * 将此 Timestamp 对象与给定的 Date(必须为 Timestamp 对象)相比较
22 | * this 早于 参数o 返回-1
23 | * this 晚于 参数o 返回 1
24 | * 时间相等返回0
25 | */
26 | compareTo(o: JSqlTimestamp): JBoolean;
27 |
28 | /**
29 | * 获取此 Timestamp 对象的 nanos 值
30 | */
31 | getNanos(): JInt;
32 | }
--------------------------------------------------------------------------------
/clever-graaljs-types/src/java/time/JZoneId.d.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * 时区ID,如 Europe/Paris
3 | */
4 | interface JZoneId extends JObject {
5 | java_time_ZoneId: "java.time.ZoneId";
6 |
7 | //-----------------------------------------------------------------------
8 | /**
9 | * 获取唯一的时区ID
10 | */
11 | getId(): JString;
12 |
13 | /**
14 | * 规范化时区ID,尽可能返回 ZoneOffset
15 | */
16 | normalized(): JZoneId;
17 | }
18 |
19 |
--------------------------------------------------------------------------------
/clever-graaljs-types/src/java/util/JDate.d.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * java.util.Date 类型,不要在JavaScript/TypeScript环境中创建该类型对象
3 | * 请使用内置对象“Interop”创建该类型实例
4 | * @see Interop
5 | */
6 | interface JDate extends JObject, JComparable {
7 | java_util_Date: "java.util.Date";
8 |
9 | /**
10 | * 测试此日期是否在指定日期之后
11 | */
12 | after(when: JDate): JBoolean;
13 |
14 | /**
15 | * 测试此日期是否在指定日期之前
16 | */
17 | before(when: JDate): JBoolean;
18 |
19 | /**
20 | * 返回自1970年1月1日以来,由此Date对象表示的00:00:00 GMT的毫秒数
21 | */
22 | getTime(): JLong;
23 |
24 | /**
25 | * YEAR (从1900年开始的时间数)
26 | */
27 | getYear(): JInt;
28 |
29 | /**
30 | * MONTH (从0开始的月份数)
31 | */
32 | getMonth(): JInt;
33 |
34 | /**
35 | * DAY_OF_MONTH
36 | */
37 | getDate(): JInt;
38 |
39 | /**
40 | * HOUR_OF_DAY
41 | */
42 | getHours(): JInt;
43 |
44 | /**
45 | * MINUTE
46 | */
47 | getMinutes(): JInt;
48 |
49 | /**
50 | * SECOND
51 | */
52 | getSeconds(): JInt;
53 |
54 | /**
55 | * DAY_OF_WEEK (从0开始)
56 | */
57 | getDay(): JInt;
58 | }
--------------------------------------------------------------------------------
/clever-graaljs-types/src/java/util/JEnumeration.d.ts:
--------------------------------------------------------------------------------
1 | interface JEnumeration extends JObject {
2 | java_util_Enumeration: "java.util.Enumeration";
3 |
4 | /**
5 | * 测试此枚举是否包含更多的元素
6 | */
7 | hasMoreElements(): JBoolean;
8 |
9 | /**
10 | * 如果此枚举对象至少还有一个可提供的元素,则返回此枚举的下一个元素
11 | */
12 | nextElement(): E;
13 | }
14 |
--------------------------------------------------------------------------------
/clever-graaljs-types/src/java/util/JIterable.d.ts:
--------------------------------------------------------------------------------
1 | interface JIterable extends JObject {
2 | java_util_Iterable: "java.util.Iterable";
3 |
4 | /**
5 | * 返回一个在一组 T 类型的元素上进行迭代的迭代器
6 | */
7 | iterator(): JIterator;
8 | }
9 |
--------------------------------------------------------------------------------
/clever-graaljs-types/src/java/util/JIterator.d.ts:
--------------------------------------------------------------------------------
1 | interface JIterator extends JObject {
2 | java_util_Iterator: "java.util.Iterator";
3 |
4 | /**
5 | * 如果仍有元素可以迭代,则返回 true
6 | */
7 | hasNext(): JBoolean;
8 |
9 | /**
10 | * 返回迭代的下一个元素
11 | */
12 | next(): E;
13 |
14 | /**
15 | * 从迭代器指向的集合中移除迭代器返回的最后一个元素(可选操作)
16 | */
17 | remove(): void;
18 | }
--------------------------------------------------------------------------------
/clever-graaljs-types/src/java/util/JMapEntry.d.ts:
--------------------------------------------------------------------------------
1 | interface JMapEntry extends JObject {
2 | java_util_Map_Entry: "java.util.Map.Entry";
3 |
4 | /**
5 | * 返回与此项对应的键
6 | */
7 | getKey(): K;
8 |
9 | /**
10 | * 返回与此项对应的值
11 | */
12 | getValue(): V;
13 |
14 | /**
15 | * 用指定的值替换与此项对应的值
16 | */
17 | setValue(value: V): V;
18 | }
19 |
--------------------------------------------------------------------------------
/clever-graaljs-types/src/logger.d.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * Java slf4j 实现的日志记录器
3 | */
4 | interface Logger {
5 | /**
6 | * trace打印输出
7 | * @param format 格式化文本
8 | * @param message 数据
9 | */
10 | trace(format: string, ...message: any[]): void;
11 |
12 | /**
13 | * debug打印输出
14 | * @param format 格式化文本
15 | * @param message 数据
16 | */
17 | debug(format: string, ...message: any[]): void;
18 |
19 | /**
20 | * info打印输出
21 | * @param format 格式化文本
22 | * @param message 数据
23 | */
24 | info(format: string, ...message: any[]): void;
25 |
26 | /**
27 | * warn打印输出
28 | * @param format 格式化文本
29 | * @param message 数据
30 | */
31 | warn(format: string, ...message: any[]): void;
32 |
33 | /**
34 | * error打印输出
35 | * @param format 格式化文本
36 | * @param message 数据
37 | */
38 | error(format: string, ...message: any[]): void;
39 | }
40 |
41 | /**
42 | * 日志记录器工厂
43 | */
44 | interface LoggerFactory {
45 | /**
46 | * 获取日志对象
47 | *
48 | * @param name 名称
49 | */
50 | getLogger(name: string): Logger;
51 | }
52 |
53 | /**
54 | * 日志记录器工厂(用于创建日志记录器)
55 | */
56 | declare const LoggerFactory: LoggerFactory;
57 |
--------------------------------------------------------------------------------
/clever-graaljs-types/src/org/springframework/util/JMultiValueMap.d.ts:
--------------------------------------------------------------------------------
1 | interface JMultiValueMap extends JMap> {
2 | org_springframework_util_MultiValueMap: "org.springframework.util.MultiValueMap";
3 |
4 | /**
5 | * 返回给定键的第一个值
6 | */
7 | getFirst(key: K): V | null;
8 |
9 | /**
10 | * 将给定的单个值添加到给定键的当前值列表中
11 | */
12 | add(key: K, value: V): void;
13 |
14 | /**
15 | * 将给定列表的所有值添加到给定键的当前值列表中
16 | */
17 | addAll(key: K, values: JList): void;
18 |
19 |
20 | /**
21 | * 将给定MultiValueMap的所有值添加到当前值
22 | */
23 | addAll(values: JMultiValueMap): void;
24 |
25 | /**
26 | * 在给定的键下设置给定的单个值
27 | */
28 | set(key: K, value: V): void;
29 |
30 | /**
31 | * 设置给定值
32 | */
33 | setAll(values: JMap): void;
34 |
35 | /**
36 | * 返回包含此MultiValueMap中的第一个值的Map
37 | */
38 | toSingleValueMap(): JMap;
39 | }
40 |
--------------------------------------------------------------------------------
/clever-graaljs-types/src/print.d.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * 打印输出
3 | */
4 | interface Print {
5 | /**
6 | * 打印输出
7 | *
8 | * @param message 输出数据
9 | */
10 | (...message: any[]): void;
11 | }
12 |
13 | /**
14 | * 打印输出
15 | */
16 | declare const print: Print;
17 |
--------------------------------------------------------------------------------
/clever-graaljs-types/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "baseUrl": ".",
4 | "outDir": "./dist",
5 | "allowJs": true,
6 | "target": "ES5",
7 | "module": "CommonJS",
8 | "moduleResolution": "Node",
9 | "sourceMap": true,
10 | "inlineSourceMap": false,
11 | "inlineSources": true,
12 | "allowSyntheticDefaultImports": true,
13 | "forceConsistentCasingInFileNames": true,
14 | "noImplicitReturns": true,
15 | "noUnusedLocals": true,
16 | "experimentalDecorators": true,
17 | "emitDecoratorMetadata": true,
18 | "strict": true,
19 | "checkJs": true,
20 | "declaration": true,
21 | "skipLibCheck": true,
22 | "lib": [
23 | "ES5",
24 | "ES2015",
25 | "ES2016",
26 | "ES2017",
27 | "ES2018",
28 | "ES2019",
29 | "ES2020",
30 | "ESNext"
31 | ]
32 | },
33 | "exclude": [
34 | "dist"
35 | ]
36 | }
37 |
--------------------------------------------------------------------------------
/clever-graaljs-types/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | typescript@^4.3.5:
6 | version "4.3.5"
7 | resolved "https://registry.nlark.com/typescript/download/typescript-4.3.5.tgz?cache=0&sync_timestamp=1627370347344&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftypescript%2Fdownload%2Ftypescript-4.3.5.tgz#4d1c37cc16e893973c45a06886b7113234f119f4"
8 | integrity sha1-TRw3zBbok5c8RaBohrcRMjTxGfQ=
9 |
--------------------------------------------------------------------------------
/images/00.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Lzw2016/clever-graaljs/063beeea98463eede7950ac9982e0407dbd24609/images/00.png
--------------------------------------------------------------------------------
/images/01.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Lzw2016/clever-graaljs/063beeea98463eede7950ac9982e0407dbd24609/images/01.gif
--------------------------------------------------------------------------------
/images/02.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Lzw2016/clever-graaljs/063beeea98463eede7950ac9982e0407dbd24609/images/02.gif
--------------------------------------------------------------------------------
/images/03.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Lzw2016/clever-graaljs/063beeea98463eede7950ac9982e0407dbd24609/images/03.gif
--------------------------------------------------------------------------------