├── .gitignore ├── LICENSE ├── README.md ├── clever-graaljs-core ├── pom.xml └── src │ ├── main │ └── java │ │ └── org │ │ └── clever │ │ └── graaljs │ │ └── core │ │ ├── GraalConstant.java │ │ ├── ScriptContextInstance.java │ │ ├── ScriptEngineConfig.java │ │ ├── ScriptEngineInstance.java │ │ ├── ScriptEngineInstanceStatus.java │ │ ├── ScriptObject.java │ │ ├── ScriptObjectCache.java │ │ ├── builtin │ │ ├── AssertUtils.java │ │ ├── CommonUtils.java │ │ ├── CryptoUtils.java │ │ ├── DataSizeUtils.java │ │ ├── DateUtils.java │ │ ├── DigestUtils.java │ │ ├── EncodeDecodeUtils.java │ │ ├── IDCardUtils.java │ │ ├── IDGenerateUtils.java │ │ ├── IOUtils.java │ │ ├── IPAddressUtils.java │ │ ├── ImageValidateUtils.java │ │ ├── JsonUtils.java │ │ ├── RMBUtils.java │ │ ├── StringUtils.java │ │ ├── ThreadUtils.java │ │ ├── UnderlineToCamelUtils.java │ │ ├── XmlUtils.java │ │ ├── adapter │ │ │ ├── HttpUtils.java │ │ │ ├── PinyinUtils.java │ │ │ ├── TreeUtils.java │ │ │ └── ZxingUtils.java │ │ └── wrap │ │ │ ├── HttpUtils.java │ │ │ ├── PinyinUtils.java │ │ │ ├── TreeUtils.java │ │ │ └── ZxingUtils.java │ │ ├── constant │ │ ├── BarcodeFormatEnum.java │ │ ├── CharsetsEnum.java │ │ ├── HttpEnum.java │ │ ├── PinyinUtilsEnum.java │ │ └── RoundingModeEnum.java │ │ ├── exception │ │ └── BusinessException.java │ │ ├── internal │ │ ├── AbstractConsole.java │ │ ├── Console.java │ │ ├── GraalInterop.java │ │ ├── GraalLoggerFactory.java │ │ ├── Interop.java │ │ ├── Logger.java │ │ ├── LoggerConsole.java │ │ ├── LoggerFactory.java │ │ ├── OutputStreamConsole.java │ │ ├── PrintOutput.java │ │ ├── jackson │ │ │ ├── HostWrapperSerializer.java │ │ │ ├── JacksonMapperSupport.java │ │ │ └── ValueSerializer.java │ │ ├── proxy │ │ │ ├── ArrayListProxy.java │ │ │ ├── HashMapProxy.java │ │ │ ├── LinkedHashMapProxy.java │ │ │ ├── ListProxy.java │ │ │ └── MapProxy.java │ │ ├── support │ │ │ ├── GraalObjectToString.java │ │ │ └── ObjectToString.java │ │ └── utils │ │ │ ├── InteropJavaToScriptUtils.java │ │ │ └── InteropScriptToJavaUtils.java │ │ ├── pool │ │ ├── EngineGlobalUtils.java │ │ └── GraalSingleEngineFactory.java │ │ └── utils │ │ ├── Assert.java │ │ ├── CustomNumbers.java │ │ ├── DataSizeUtils.java │ │ ├── DateTimeUtils.java │ │ ├── ExceptionUtils.java │ │ ├── HttpUtils.java │ │ ├── IDCardUtils.java │ │ ├── IDCreateUtils.java │ │ ├── IPAddressUtils.java │ │ ├── JsonTypeUtils.java │ │ ├── RMBUtils.java │ │ ├── RandomUtil.java │ │ ├── ReflectionsUtils.java │ │ ├── RingBuffer.java │ │ ├── ScriptCodeUtils.java │ │ ├── ScriptContextUtils.java │ │ ├── ScriptEngineUtils.java │ │ ├── SnowFlake.java │ │ ├── StrFormatter.java │ │ ├── StringUtils.java │ │ ├── ThreadUtils.java │ │ ├── TupleOne.java │ │ ├── TupleTow.java │ │ ├── UnderlineToCamelUtils.java │ │ ├── WeightRandom.java │ │ ├── codec │ │ ├── CryptoUtils.java │ │ ├── DigestUtils.java │ │ └── EncodeDecodeUtils.java │ │ ├── imgvalidate │ │ ├── ImageValidateCageUtils.java │ │ ├── ImageValidateKaptchaUtils.java │ │ ├── ImageValidatePatchcaUtils.java │ │ ├── ImageValidateUtils.java │ │ └── ValidateCodeSourceUtils.java │ │ ├── mapper │ │ ├── JacksonMapper.java │ │ ├── JsonXmlConverter.java │ │ └── XStreamMapper.java │ │ ├── pinyin │ │ └── PinyinUtils.java │ │ ├── support │ │ ├── LinkedMultiValueMap.java │ │ └── MultiValueMap.java │ │ ├── tree │ │ ├── BuildTreeUtils.java │ │ ├── ITreeNode.java │ │ ├── LevelStringUtils.java │ │ └── SimpleTreeNode.java │ │ ├── watch │ │ ├── BlackWhiteFileFilter.java │ │ ├── FileListener.java │ │ └── FileSystemWatcher.java │ │ └── zxing │ │ ├── ZxingCreateImageUtils.java │ │ └── ZxingReaderImageUtils.java │ └── test │ ├── java │ └── org │ │ └── clever │ │ └── graaljs │ │ └── core │ │ ├── JavaInteropTest.java │ │ ├── ScriptEngineInstanceTest.java │ │ ├── builtin │ │ ├── AssertUtilsTest.java │ │ ├── CommonUtilsTest.java │ │ ├── CryptoUtilsTest.java │ │ ├── DataSizeUtilsTest.java │ │ ├── DateUtilsTest.java │ │ ├── DigestUtilsTest.java │ │ ├── EncodeDecodeUtilsTest.java │ │ ├── IDCardUtilsTest.java │ │ ├── IDGenerateUtilsTest.java │ │ ├── IOUtilsTest.java │ │ ├── IPAddressUtilsTest.java │ │ ├── ImageValidateUtilsTest.java │ │ ├── JsonUtilsTest.java │ │ ├── RMBUtilsTest.java │ │ ├── StringUtilsTest.java │ │ ├── ThreadUtilsTest.java │ │ ├── UnderlineToCamelUtilsTest.java │ │ ├── XmlUtilsTest.java │ │ └── wrap │ │ │ └── HttpUtilsTest.java │ │ ├── graalvm │ │ └── Test01.java │ │ └── utils │ │ └── ScriptCodeUtilsTest.java │ └── resources │ ├── builtin │ ├── AssertUtilsTest.js │ ├── CommonUtilsTest.js │ ├── CryptoUtilsTest.js │ ├── DataSizeUtilsTest.js │ ├── DateUtilsTest.js │ ├── DigestUtilsTest.js │ ├── EncodeDecodeUtilsTest.js │ ├── HttpUtilsTest.js │ ├── IDCardUtilsTest.js │ ├── IDGenerateUtilsTest.js │ ├── IOUtilsTest.js │ ├── IPAddressUtilsTest.js │ ├── ImageValidateUtilsTest.js │ ├── JsonUtilsTest.js │ ├── RMBUtilsTest.js │ ├── StringUtilsTest.js │ ├── ThreadUtilsTest.js │ ├── UnderlineToCamelUtilsTest.js │ └── XmlUtilsTest.js │ ├── t01.js │ ├── t02.js │ ├── t03.js │ ├── t04.js │ ├── t05.js │ └── t06.js ├── clever-graaljs-data-common ├── pom.xml └── src │ └── main │ └── java │ └── org │ └── clever │ └── graaljs │ └── data │ └── common │ ├── AbstractDataSource.java │ ├── model │ ├── entity │ │ ├── BaseEntity.java │ │ ├── DataEntity.java │ │ └── IdEntity.java │ └── request │ │ ├── QueryByPage.java │ │ └── QueryBySort.java │ └── support │ └── mybatisplus │ ├── IPage.java │ ├── OrderItem.java │ └── Page.java ├── clever-graaljs-data-jdbc ├── pom.xml └── src │ ├── main │ └── java │ │ └── org │ │ └── clever │ │ └── graaljs │ │ └── data │ │ └── jdbc │ │ ├── DataJdbcEngineGlobalUtils.java │ │ ├── builtin │ │ ├── SqlSourceUtils.java │ │ ├── adapter │ │ │ ├── JdbcDataSource.java │ │ │ ├── MyBatisJdbcDataSource.java │ │ │ └── SQLBuilder.java │ │ └── wrap │ │ │ ├── JdbcDataSource.java │ │ │ ├── JdbcDatabase.java │ │ │ ├── MyBatisJdbcDataSource.java │ │ │ ├── MyBatisJdbcDatabase.java │ │ │ ├── SQLBuilder.java │ │ │ └── support │ │ │ ├── AbstractDataSource.java │ │ │ ├── AbstractJdbcDatabase.java │ │ │ └── JdbcConfig.java │ │ ├── constant │ │ └── JdbcEnum.java │ │ ├── dialects │ │ ├── AbstractDialect.java │ │ ├── DB2Dialect.java │ │ ├── DmDialect.java │ │ ├── H2Dialect.java │ │ ├── HSQLDialect.java │ │ ├── IDialect.java │ │ ├── MariaDBDialect.java │ │ ├── MySqlDialect.java │ │ ├── OracleDialect.java │ │ ├── PostgreDialect.java │ │ ├── SQLServer2005Dialect.java │ │ ├── SQLServerDialect.java │ │ └── SQLiteDialect.java │ │ ├── mybatis │ │ ├── AbstractMyBatisMapperSql.java │ │ ├── ClassPathMyBatisMapperSql.java │ │ ├── FileSystemMyBatisMapperSql.java │ │ └── MyBatisMapperSql.java │ │ └── support │ │ ├── AbstractRowCountCallbackHandler.java │ │ ├── BatchData.java │ │ ├── BatchDataReaderCallback.java │ │ ├── DialectFactory.java │ │ ├── InsertResult.java │ │ ├── JdbcDataSourceStatus.java │ │ ├── JdbcInfo.java │ │ ├── RowData.java │ │ ├── RowDataReaderCallback.java │ │ ├── SqlLoggerUtils.java │ │ ├── SqlUtils.java │ │ └── mybatisplus │ │ ├── CollectionUtils.java │ │ ├── DbType.java │ │ ├── ExceptionUtils.java │ │ ├── ISqlParser.java │ │ ├── JdbcUtils.java │ │ ├── JsqlParserCountOptimize.java │ │ ├── MybatisPlusException.java │ │ ├── SqlInfo.java │ │ ├── SqlParserUtils.java │ │ └── StringPool.java │ └── test │ ├── java │ └── org │ │ └── clever │ │ └── graaljs │ │ └── data │ │ └── jdbc │ │ ├── BaseTest.java │ │ └── builtin │ │ ├── adapter │ │ └── SQLBuilderTest.java │ │ └── wrap │ │ ├── JdbcDatabaseTest.java │ │ └── MyBatisJdbcDatabaseTest.java │ └── resources │ ├── builtin │ ├── JdbcDatabaseTest.js │ └── MyBatisJdbcDatabaseTest.js │ ├── logback.xml │ └── mapper │ └── sql01.xml ├── clever-graaljs-data-redis ├── pom.xml └── src │ ├── main │ └── java │ │ └── org │ │ └── clever │ │ └── graaljs │ │ └── data │ │ └── redis │ │ ├── DataRedisEngineGlobalUtils.java │ │ ├── builtin │ │ ├── adapter │ │ │ └── RedisDataSource.java │ │ ├── constant │ │ │ ├── NodeTypeEnum.java │ │ │ └── RedisDataTypeEnum.java │ │ └── wrap │ │ │ ├── RedisDataSource.java │ │ │ ├── RedisDatabase.java │ │ │ └── support │ │ │ ├── AbstractRedisDatabase.java │ │ │ └── RedisConfig.java │ │ └── support │ │ ├── LettuceClientBuilder.java │ │ ├── PointValue.java │ │ ├── RedisDataSourceStatus.java │ │ ├── RedisInfo.java │ │ ├── RedisUtils.java │ │ ├── ScanCallback.java │ │ └── ZSetValue.java │ └── test │ ├── java │ └── org │ │ └── clever │ │ └── graaljs │ │ └── data │ │ └── redis │ │ ├── BaseTest.java │ │ └── builtin │ │ └── wrap │ │ └── RedisDatabaseTest.java │ └── resources │ ├── builtin │ └── RedisDatabaseTest.js │ └── logback.xml ├── clever-graaljs-fast-api-demo ├── pom.xml └── src │ ├── main │ ├── groovy │ │ └── org │ │ │ └── clever │ │ │ └── graaljs │ │ │ └── fast │ │ │ └── api │ │ │ └── demo │ │ │ ├── HttpRouteDemo.groovy │ │ │ └── controller │ │ │ └── Test01.groovy │ ├── java │ │ └── org │ │ │ └── clever │ │ │ └── graaljs │ │ │ └── fast │ │ │ └── api │ │ │ └── demo │ │ │ ├── FastApiDemo.java │ │ │ ├── config │ │ │ └── HotReloadInitCommandLineRunner.java │ │ │ ├── engine │ │ │ └── MyPutGlobalObjects.java │ │ │ └── utils │ │ │ └── JSUtils.java │ └── resources │ │ ├── application.yml │ │ └── logback.xml │ └── test │ └── resources │ ├── kill-app.sh │ └── start-app.sh ├── clever-graaljs-fast-api ├── pom.xml └── src │ ├── main │ ├── java │ │ └── org │ │ │ └── clever │ │ │ └── graaljs │ │ │ └── fast │ │ │ └── api │ │ │ ├── autoconfigure │ │ │ ├── FastApiAutoConfiguration.java │ │ │ ├── FastApiInitCommandLineRunner.java │ │ │ ├── FastApiWebMvcConfigurer.java │ │ │ ├── FastApiWebSocketConfigurer.java │ │ │ ├── MultipleJdbcAutoConfigure.java │ │ │ ├── MultipleRedisAutoConfigure.java │ │ │ └── TaskInstanceAutoConfiguration.java │ │ │ ├── config │ │ │ ├── FastApiConfig.java │ │ │ ├── MultipleJdbcConfig.java │ │ │ ├── MultipleRedisConfig.java │ │ │ ├── MvcConfig.java │ │ │ └── TaskConfig.java │ │ │ ├── controller │ │ │ ├── ExtendFileManageController.java │ │ │ ├── FileResourceManageController.java │ │ │ ├── GlobalController.java │ │ │ ├── HttpApiDebugManageController.java │ │ │ ├── HttpApiManageController.java │ │ │ ├── HttpGlobalRequestDataManageController.java │ │ │ ├── IndexPageController.java │ │ │ ├── JdbcDatabaseManageController.java │ │ │ ├── RedisManageController.java │ │ │ ├── ResourceFileManageController.java │ │ │ └── TaskManageController.java │ │ │ ├── dto │ │ │ ├── request │ │ │ │ ├── AddDirReq.java │ │ │ │ ├── AddFileReq.java │ │ │ │ ├── AddHttpApiDebugReq.java │ │ │ │ ├── AddHttpApiReq.java │ │ │ │ ├── AddHttpGlobalRequestDataReq.java │ │ │ │ ├── AddJdbcReq.java │ │ │ │ ├── AddJsJobReq.java │ │ │ │ ├── AddRedisReq.java │ │ │ │ ├── DebugApiReq.java │ │ │ │ ├── FileRenameReq.java │ │ │ │ ├── RunJsReq.java │ │ │ │ ├── SaveFileContentReq.java │ │ │ │ ├── UpdateHttpApiDebugReq.java │ │ │ │ ├── UpdateHttpApiReq.java │ │ │ │ ├── UpdateJdbcReq.java │ │ │ │ └── UpdateRedisReq.java │ │ │ └── response │ │ │ │ ├── AddHttpApiRes.java │ │ │ │ ├── AddJsJobRes.java │ │ │ │ ├── ApiFileResourceRes.java │ │ │ │ ├── DelHttpApiRes.java │ │ │ │ ├── DelJsJobRes.java │ │ │ │ ├── FileResourceTreeNodeRes.java │ │ │ │ ├── HttpApiDebugRes.java │ │ │ │ ├── HttpApiDebugTitleRes.java │ │ │ │ ├── HttpApiFileResourceRes.java │ │ │ │ ├── HttpGlobalRequestDataRes.java │ │ │ │ ├── JdbcInfoRes.java │ │ │ │ ├── JobFileResourceRes.java │ │ │ │ ├── JsJobInfoRes.java │ │ │ │ ├── RedisInfoRes.java │ │ │ │ └── WebSocketErrorRes.java │ │ │ ├── entity │ │ │ ├── DataSourceConfig.java │ │ │ ├── EnumConstant.java │ │ │ ├── FileResource.java │ │ │ ├── FileResourceHistory.java │ │ │ ├── HttpApi.java │ │ │ ├── HttpApiDebug.java │ │ │ └── HttpGlobalRequestData.java │ │ │ ├── intercept │ │ │ └── FastApiHttpInterceptor.java │ │ │ ├── model │ │ │ ├── DebugRequestData.java │ │ │ ├── FastApiGlobalEnv.java │ │ │ ├── HttpApiFileResource.java │ │ │ └── MapperFileResource.java │ │ │ ├── plugin │ │ │ └── PutGlobalObjects.java │ │ │ ├── service │ │ │ ├── ExtendFileManageService.java │ │ │ ├── FileResourceManageService.java │ │ │ ├── FileResourceMyBatisMapperSqlService.java │ │ │ ├── HttpApiDebugManageService.java │ │ │ ├── HttpApiFileResourceCacheService.java │ │ │ ├── HttpApiManageService.java │ │ │ ├── HttpGlobalRequestDataManageService.java │ │ │ ├── InitScriptService.java │ │ │ ├── JdbcDatabaseManageService.java │ │ │ ├── RedisManageService.java │ │ │ ├── ResourceFileManageService.java │ │ │ └── TaskManageService.java │ │ │ ├── utils │ │ │ ├── MergeDataSourceConfig.java │ │ │ ├── MergeRedisProperties.java │ │ │ └── WebsocketUtils.java │ │ │ └── websocket │ │ │ ├── DebugApiLogsHandler.java │ │ │ ├── RunJsHandler.java │ │ │ └── ServerLogsHandler.java │ └── resources │ │ ├── META-INF │ │ ├── resources │ │ │ └── webjars │ │ │ │ └── fast-api │ │ │ │ └── index.html │ │ └── spring.factories │ │ └── database │ │ ├── fast-api_MySql.sql │ │ └── task_MySql.sql │ └── test │ ├── java │ └── Test01.java │ └── resources │ └── application.yml ├── clever-graaljs-freemarker ├── pom.xml └── src │ └── main │ └── java │ └── org │ └── clever │ └── graaljs │ └── freemarker │ └── support │ ├── FreeMarkerConfigurer.java │ ├── FreeMarkerUtils.java │ └── FreemarkerService.java ├── clever-graaljs-meta-data ├── pom.xml └── src │ ├── main │ └── java │ │ └── org │ │ └── clever │ │ └── graaljs │ │ └── meta │ │ └── data │ │ ├── MetaDataEngineGlobalUtils.java │ │ ├── builtin │ │ ├── adapter │ │ │ └── MateDataService.java │ │ └── wrap │ │ │ ├── MateDataManage.java │ │ │ └── MateDataService.java │ │ ├── convert │ │ ├── ConvertToDataBaseSummary.java │ │ ├── ConvertToTableColumn.java │ │ └── ConvertToTableSchema.java │ │ └── model │ │ ├── DataBaseSummary.java │ │ ├── TableColumn.java │ │ └── TableSchema.java │ └── test │ ├── java │ └── org │ │ └── clever │ │ └── graaljs │ │ └── meta │ │ └── data │ │ ├── BaseTest.java │ │ └── builtin │ │ ├── adapter │ │ └── MateDataServiceTest.java │ │ └── wrap │ │ └── MateDataManageTest.java │ └── resources │ ├── builtin │ └── MateDataManageTest.js │ └── logback.xml ├── clever-graaljs-spring-common ├── pom.xml └── src │ └── main │ ├── java │ └── org │ │ └── clever │ │ └── graaljs │ │ └── spring │ │ ├── SpringCommonEngineGlobalUtils.java │ │ ├── core │ │ ├── autoconfigure │ │ │ └── GraaljsSpringCoreAutoConfiguration.java │ │ ├── builtin │ │ │ ├── CookieUtils.java │ │ │ ├── HttpRequestUtils.java │ │ │ ├── MeterRegistryUtils.java │ │ │ ├── SpringContext.java │ │ │ ├── adapter │ │ │ │ ├── ExcelUtils.java │ │ │ │ └── ValidatorUtils.java │ │ │ ├── constant │ │ │ │ └── ExcelEnum.java │ │ │ └── wrap │ │ │ │ ├── ExcelUtils.java │ │ │ │ └── ValidatorUtils.java │ │ └── utils │ │ │ ├── CookieUtils.java │ │ │ ├── HttpServletRequestUtils.java │ │ │ ├── excel │ │ │ ├── ExcelDataReader.java │ │ │ ├── ExcelDataWriter.java │ │ │ ├── ExcelReaderExceptionHand.java │ │ │ ├── ExcelRowReader.java │ │ │ └── dto │ │ │ │ ├── ExcelData.java │ │ │ │ ├── ExcelHead.java │ │ │ │ ├── ExcelImportState.java │ │ │ │ └── ExcelRow.java │ │ │ ├── spring │ │ │ └── SpringContextHolder.java │ │ │ └── validator │ │ │ ├── BaseValidatorUtils.java │ │ │ ├── StatusIntegerValidator.java │ │ │ ├── StatusStringValidator.java │ │ │ ├── StringNotBlankValidator.java │ │ │ ├── ValidatorFactoryUtils.java │ │ │ ├── ValidatorUtils.java │ │ │ └── annotation │ │ │ ├── StringNotBlank.java │ │ │ ├── ValidIntegerStatus.java │ │ │ └── ValidStringStatus.java │ │ ├── logger │ │ ├── GraalJsDebugLog4j2Appender.java │ │ └── GraalJsDebugLogbackAppender.java │ │ └── mvc │ │ ├── DefaultExceptionResolver.java │ │ ├── ExceptionResolver.java │ │ ├── HttpInterceptorScriptHandler.java │ │ ├── ScriptHandler.java │ │ ├── ScriptHandlerCorsConfig.java │ │ ├── builtin │ │ ├── adapter │ │ │ ├── HttpContext.java │ │ │ ├── HttpRequestWrapper.java │ │ │ ├── HttpResponseWrapper.java │ │ │ ├── HttpSessionWrapper.java │ │ │ └── ServletContextWrapper.java │ │ ├── constant │ │ │ ├── HttpMethodEnum.java │ │ │ ├── MediaTypeEnum.java │ │ │ └── SortTypeEnum.java │ │ └── wrap │ │ │ ├── HttpContext.java │ │ │ ├── HttpRequestWrapper.java │ │ │ ├── HttpResponseWrapper.java │ │ │ ├── HttpSessionWrapper.java │ │ │ └── ServletContextWrapper.java │ │ ├── model │ │ ├── ValidMessage.java │ │ ├── request │ │ │ └── BaseRequest.java │ │ └── response │ │ │ ├── AjaxMessage.java │ │ │ ├── BaseResponse.java │ │ │ └── ErrorResponse.java │ │ └── support │ │ ├── IntegerToDateConverter.java │ │ ├── StringToDateConverter.java │ │ └── UrlPathUtils.java │ └── resources │ └── META-INF │ └── spring.factories ├── clever-graaljs-tools ├── pom.xml └── src │ ├── main │ ├── java │ │ └── org │ │ │ └── clever │ │ │ └── graaljs │ │ │ └── tools │ │ │ └── antlr4 │ │ │ ├── JavaTransformDTS.java │ │ │ ├── TypeMappingUtils.java │ │ │ ├── java │ │ │ ├── JavaLexer.interp │ │ │ ├── JavaLexer.java │ │ │ ├── JavaLexer.tokens │ │ │ ├── JavaParser.interp │ │ │ ├── JavaParser.java │ │ │ ├── JavaParser.tokens │ │ │ ├── JavaParserBaseListener.java │ │ │ ├── JavaParserBaseVisitor.java │ │ │ ├── JavaParserListener.java │ │ │ └── JavaParserVisitor.java │ │ │ └── javadoc │ │ │ ├── JavadocLexer.interp │ │ │ ├── JavadocLexer.java │ │ │ ├── JavadocLexer.tokens │ │ │ ├── JavadocParser.interp │ │ │ ├── JavadocParser.java │ │ │ ├── JavadocParser.tokens │ │ │ ├── JavadocParserBaseListener.java │ │ │ ├── JavadocParserBaseVisitor.java │ │ │ ├── JavadocParserListener.java │ │ │ └── JavadocParserVisitor.java │ └── resources │ │ ├── java │ │ ├── JavaLexer.g4 │ │ └── JavaParser.g4 │ │ └── javadoc │ │ ├── JavadocLexer.g4 │ │ └── JavadocParser.g4 │ └── test │ ├── java │ └── org │ │ └── clever │ │ └── graaljs │ │ └── tools │ │ ├── SyncDTSTest.java │ │ └── antlr4 │ │ └── JavaTransformDTSTest.java │ └── resources │ ├── io │ └── micrometer │ │ └── core │ │ └── instrument │ │ ├── Counter.java │ │ ├── Gauge.java │ │ └── Meter.java │ └── java │ ├── lang │ ├── AbstractStringBuilder.java │ ├── StringBuilder.java │ └── Thread.java │ └── time │ ├── Duration.java │ ├── Instant.java │ ├── LocalDate.java │ ├── LocalTime.java │ └── ZoneId.java ├── clever-graaljs-types ├── package.json ├── src │ ├── BaseTypes.d.ts │ ├── console.d.ts │ ├── fast-api │ │ ├── core │ │ │ ├── AssertUtils.d.ts │ │ │ ├── CommonUtils.d.ts │ │ │ ├── CryptoUtils.d.ts │ │ │ ├── DataSizeUtils.d.ts │ │ │ ├── DateUtils.d.ts │ │ │ ├── DigestUtils.d.ts │ │ │ ├── EncodeDecodeUtils.d.ts │ │ │ ├── EnumConstant.d.ts │ │ │ ├── HttpUtils.d.ts │ │ │ ├── IDCardUtils.d.ts │ │ │ ├── IDGenerateUtils.d.ts │ │ │ ├── IOUtils.d.ts │ │ │ ├── IPAddressUtils.d.ts │ │ │ ├── ImageValidateUtils.d.ts │ │ │ ├── Interop.d.ts │ │ │ ├── JsonUtils.d.ts │ │ │ ├── PinyinUtils.d.ts │ │ │ ├── RMBUtils.d.ts │ │ │ ├── SnowFlake.d.ts │ │ │ ├── StringUtils.part01.d.ts │ │ │ ├── StringUtils.part02.d.ts │ │ │ ├── ThreadUtils.d.ts │ │ │ ├── TreeUtils.d.ts │ │ │ ├── TypeUtils.d.ts │ │ │ ├── UnderlineToCamelUtils.d.ts │ │ │ ├── ValidatorUtils.d.ts │ │ │ ├── XmlUtils.d.ts │ │ │ └── ZxingUtils.d.ts │ │ ├── data-jdbc │ │ │ ├── JdbcDataSource.d.ts │ │ │ ├── JdbcDataSourceStatus.d.ts │ │ │ ├── JdbcDatabase.d.ts │ │ │ ├── JdbcDatabaseManage.d.ts │ │ │ ├── JdbcEnum.d.ts │ │ │ ├── JdbcInfo.d.ts │ │ │ ├── JdbcTypes.d.ts │ │ │ ├── MyBatisJdbcDataSource.d.ts │ │ │ ├── MyBatisJdbcDatabase.d.ts │ │ │ ├── MyBatisJdbcDatabaseManage.d.ts │ │ │ ├── MyBatisMapperSql.d.ts │ │ │ ├── SQLBuilder.d.ts │ │ │ └── SqlSourceUtils.d.ts │ │ ├── data-redis │ │ │ ├── RedisConfig.d.ts │ │ │ ├── RedisDataSource.d.ts │ │ │ ├── RedisDataSourceStatus.d.ts │ │ │ ├── RedisDatabase.d.ts │ │ │ ├── RedisDatabaseManage.d.ts │ │ │ └── RedisInfo.d.ts │ │ ├── meta-data │ │ │ ├── MateDataManage.d.ts │ │ │ ├── MateDataService.d.ts │ │ │ └── model │ │ │ │ ├── DataBaseSummary.d.ts │ │ │ │ ├── TableColumn.d.ts │ │ │ │ └── TableSchema.d.ts │ │ ├── mvc │ │ │ ├── HttpContext.d.ts │ │ │ ├── MediaType.d.ts │ │ │ ├── http │ │ │ │ ├── HttpRequestWrapper.d.ts │ │ │ │ ├── HttpResponseWrapper.d.ts │ │ │ │ ├── HttpSessionWrapper.d.ts │ │ │ │ └── ServletContextWrapper.d.ts │ │ │ └── model │ │ │ │ └── request │ │ │ │ ├── QueryByPage.d.ts │ │ │ │ └── QueryBySort.d.ts │ │ ├── spring-common │ │ │ ├── CookieUtils.d.ts │ │ │ ├── ExcelUtils.d.ts │ │ │ ├── HttpRequestUtils.d.ts │ │ │ ├── MeterRegistryUtils.d.ts │ │ │ └── SpringContext.d.ts │ │ └── task │ │ │ └── JobData.d.ts │ ├── io │ │ └── micrometer │ │ │ └── core │ │ │ └── instrument │ │ │ ├── Counter.d.ts │ │ │ ├── Gauge.d.ts │ │ │ ├── Meter.d.ts │ │ │ └── MeterRegistry.d.ts │ ├── java │ │ ├── io │ │ │ ├── JByteArrayInputStream.d.ts │ │ │ ├── JByteArrayOutputStream.d.ts │ │ │ ├── JCloseable.d.ts │ │ │ ├── JFileInputStream.d.ts │ │ │ ├── JFileOutputStream.d.ts │ │ │ ├── JInputStream.d.ts │ │ │ ├── JInputStreamReader.d.ts │ │ │ ├── JOutputStream.d.ts │ │ │ ├── JOutputStreamWriter.d.ts │ │ │ ├── JPrintWriter.d.ts │ │ │ ├── JReader.d.ts │ │ │ └── JWriter.d.ts │ │ ├── lang │ │ │ ├── JCharSequence.d.ts │ │ │ ├── JClass.d.ts │ │ │ ├── JComparable.d.ts │ │ │ ├── JObject.d.ts │ │ │ ├── JStringBuffer.d.ts │ │ │ ├── JStringBuilder.d.ts │ │ │ ├── JThread.d.ts │ │ │ └── JThrowable.d.ts │ │ ├── math │ │ │ ├── JBigDecimal.d.ts │ │ │ ├── JBigInteger.d.ts │ │ │ └── JRoundingMode.d.ts │ │ ├── sql │ │ │ ├── JSqlDate.d.ts │ │ │ ├── JSqlTime.d.ts │ │ │ └── JSqlTimestamp.d.ts │ │ ├── time │ │ │ ├── JDuration.d.ts │ │ │ ├── JInstant.d.ts │ │ │ ├── JLocalDate.d.ts │ │ │ ├── JLocalTime.d.ts │ │ │ └── JZoneId.d.ts │ │ └── util │ │ │ ├── JCollection.d.ts │ │ │ ├── JDate.d.ts │ │ │ ├── JEnumeration.d.ts │ │ │ ├── JIterable.d.ts │ │ │ ├── JIterator.d.ts │ │ │ ├── JList.d.ts │ │ │ ├── JMap.d.ts │ │ │ ├── JMapEntry.d.ts │ │ │ └── JSet.d.ts │ ├── javax │ │ └── servlet │ │ │ ├── JServletContext.d.ts │ │ │ ├── JServletRequest.d.ts │ │ │ ├── JServletResponse.d.ts │ │ │ └── http │ │ │ ├── JCookie.d.ts │ │ │ ├── JHttpServletRequest.d.ts │ │ │ ├── JHttpServletResponse.d.ts │ │ │ └── JHttpSession.d.ts │ ├── logger.d.ts │ ├── org │ │ └── springframework │ │ │ └── util │ │ │ └── JMultiValueMap.d.ts │ └── print.d.ts ├── tsconfig.json └── yarn.lock ├── images ├── 00.png ├── 01.gif ├── 02.gif └── 03.gif ├── pom.xml └── todo /.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled class file 2 | *.class 3 | 4 | # Log file 5 | *.log 6 | 7 | # BlueJ files 8 | *.ctxt 9 | 10 | # Mobile Tools for Java (J2ME) 11 | .mtj.tmp/ 12 | 13 | # Package Files # 14 | *.jar 15 | *.war 16 | *.nar 17 | *.ear 18 | *.zip 19 | *.tar.gz 20 | *.rar 21 | 22 | # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml 23 | hs_err_pid* 24 | 25 | # 设置不需要提交的文件 26 | .flattened-pom.xml 27 | *.iml 28 | .idea 29 | target 30 | pom.xml.versionsBackup 31 | httpCache 32 | logs 33 | clever-graaljs-types/node_modules -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 lizw 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /clever-graaljs-core/src/main/java/org/clever/graaljs/core/builtin/DataSizeUtils.java: -------------------------------------------------------------------------------- 1 | package org.clever.graaljs.core.builtin; 2 | 3 | /** 4 | * 作者:lizw
5 | * 创建时间:2020/07/28 22:34
6 | */ 7 | public class DataSizeUtils { 8 | public static final DataSizeUtils Instance = new DataSizeUtils(); 9 | 10 | private DataSizeUtils() { 11 | } 12 | 13 | /** 14 | * 返回容易读取的数据大小,如:15B、12.36KB、1.58MB、25.3GB 15 | * 16 | * @param size 文件大小 单位:bit 17 | * @return 返回容易读取的文件大小数据, 参数是null,返回null 18 | */ 19 | public String getHumanReadableSize(Long size) { 20 | return org.clever.graaljs.core.utils.DataSizeUtils.getHumanReadableSize(size); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /clever-graaljs-core/src/main/java/org/clever/graaljs/core/builtin/IPAddressUtils.java: -------------------------------------------------------------------------------- 1 | package org.clever.graaljs.core.builtin; 2 | 3 | import java.util.Set; 4 | 5 | /** 6 | * 作者:lizw
7 | * 创建时间:2020/07/28 22:34
8 | */ 9 | public class IPAddressUtils { 10 | public static final IPAddressUtils Instance = new IPAddressUtils(); 11 | 12 | private IPAddressUtils() { 13 | } 14 | 15 | /** 16 | * 获取本机所有的IPv4地址,已经获取过就直接返回 17 | */ 18 | public Set getInet4Address() { 19 | return org.clever.graaljs.core.utils.IPAddressUtils.getInet4Address(); 20 | } 21 | 22 | /** 23 | * 重新获取本机所有的IPv4地址 24 | */ 25 | public Set refreshInet4Address() { 26 | return org.clever.graaljs.core.utils.IPAddressUtils.refreshInet4Address(); 27 | } 28 | 29 | /** 30 | * 获取本机所有的IPv4地址,有多个用“;”分隔 31 | * 32 | * @return 失败返回"未知" 33 | */ 34 | public String getInet4AddressStr() { 35 | return org.clever.graaljs.core.utils.IPAddressUtils.getInet4AddressStr(); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /clever-graaljs-core/src/main/java/org/clever/graaljs/core/builtin/RMBUtils.java: -------------------------------------------------------------------------------- 1 | package org.clever.graaljs.core.builtin; 2 | 3 | /** 4 | * 作者:lizw
5 | * 创建时间:2020/07/28 22:34
6 | */ 7 | public class RMBUtils { 8 | public static final RMBUtils Instance = new RMBUtils(); 9 | 10 | private RMBUtils() { 11 | } 12 | 13 | /** 14 | * 数字金额大写转换,思想先写个完整的然后将如零拾替换成零 要用到正则表达式 15 | */ 16 | public String digitUppercase(double n) { 17 | return org.clever.graaljs.core.utils.RMBUtils.digitUppercase(n); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /clever-graaljs-core/src/main/java/org/clever/graaljs/core/constant/CharsetsEnum.java: -------------------------------------------------------------------------------- 1 | package org.clever.graaljs.core.constant; 2 | 3 | /** 4 | * 作者:lizw
5 | * 创建时间:2021/07/16 17:11
6 | */ 7 | public interface CharsetsEnum { 8 | final class Charsets { 9 | public static final Charsets Instance = new Charsets(); 10 | 11 | private Charsets() { 12 | } 13 | 14 | public final String US_ASCII = "US-ASCII"; 15 | public final String ISO_8859_1 = "ISO-8859-1"; 16 | public final String UTF_8 = "UTF-8"; 17 | public final String UTF_16BE = "UTF-16BE"; 18 | public final String UTF_16LE = "UTF-16LE"; 19 | public final String UTF_16 = "UTF-16"; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /clever-graaljs-core/src/main/java/org/clever/graaljs/core/constant/HttpEnum.java: -------------------------------------------------------------------------------- 1 | package org.clever.graaljs.core.constant; 2 | 3 | /** 4 | * 作者:lizw
5 | * 创建时间:2021/07/16 16:36
6 | */ 7 | public interface HttpEnum { 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-core/src/main/java/org/clever/graaljs/core/constant/RoundingModeEnum.java: -------------------------------------------------------------------------------- 1 | package org.clever.graaljs.core.constant; 2 | 3 | /** 4 | * 作者:lizw
5 | * 创建时间:2021/07/16 17:15
6 | */ 7 | public interface RoundingModeEnum { 8 | 9 | final class RoundingMode { 10 | public static final RoundingMode Instance = new RoundingMode(); 11 | 12 | private RoundingMode() { 13 | } 14 | 15 | /** 16 | * 向正无穷方向对齐 17 | */ 18 | public final byte UP = 0; 19 | /** 20 | * 向负无穷方向对齐 21 | */ 22 | public final byte DOWN = 1; 23 | /** 24 | * 向原点的反方向对齐 25 | */ 26 | public final byte CEILING = 2; 27 | /** 28 | * 向原点方向对齐 29 | */ 30 | public final byte FLOOR = 3; 31 | /** 32 | * “四舍五入”,如果舍弃部分的最高位大于等于 5,向正无穷方向对齐,否则向负无穷方向对齐 33 | */ 34 | public final byte HALF_UP = 4; 35 | /** 36 | * 五舍六入”,如果舍弃部分的最高位大于 5,向正无穷方向对齐,否则向负无穷方向对齐 37 | */ 38 | public final byte HALF_DOWN = 5; 39 | /** 40 | * “四舍六入五成双”,如果舍弃部分的最高位大于等于六,或等于五并且前一位是奇数,向正无穷方向对齐,否则向负无穷方向对齐 41 | */ 42 | public final byte HALF_EVEN = 6; 43 | /** 44 | * 如果需要舍入,就抛出算术异常 45 | */ 46 | public final byte UNNECESSARY = 7; 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /clever-graaljs-core/src/main/java/org/clever/graaljs/core/internal/GraalLoggerFactory.java: -------------------------------------------------------------------------------- 1 | package org.clever.graaljs.core.internal; 2 | 3 | import lombok.SneakyThrows; 4 | import org.clever.graaljs.core.internal.support.GraalObjectToString; 5 | 6 | /** 7 | * 作者:lizw
8 | * 创建时间:2020/07/26 15:20
9 | */ 10 | public class GraalLoggerFactory extends LoggerFactory { 11 | public static final GraalLoggerFactory Instance = new GraalLoggerFactory(); 12 | 13 | protected GraalLoggerFactory() { 14 | } 15 | 16 | /** 17 | * 获取日志对象 18 | * 19 | * @param name 名称 20 | */ 21 | @SneakyThrows 22 | public Logger getLogger(String name) { 23 | return Logger_Cache.get(name, () -> { 24 | Logger logger = new Logger(name); 25 | logger.setObjectToString(GraalObjectToString.Instance); 26 | return logger; 27 | }); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /clever-graaljs-core/src/main/java/org/clever/graaljs/core/internal/LoggerFactory.java: -------------------------------------------------------------------------------- 1 | package org.clever.graaljs.core.internal; 2 | 3 | import com.google.common.cache.Cache; 4 | import com.google.common.cache.CacheBuilder; 5 | import lombok.SneakyThrows; 6 | 7 | /** 8 | * 作者:lizw
9 | * 创建时间:2020/07/26 08:45
10 | */ 11 | public class LoggerFactory { 12 | protected static final Cache Logger_Cache = CacheBuilder.newBuilder().initialCapacity(32).maximumSize(256).build(); 13 | 14 | public static final LoggerFactory Instance = new LoggerFactory(); 15 | 16 | protected LoggerFactory() { 17 | } 18 | 19 | /** 20 | * 获取日志对象 21 | * 22 | * @param name 名称 23 | */ 24 | @SneakyThrows 25 | public Logger getLogger(String name) { 26 | return Logger_Cache.get(name, () -> new Logger(name)); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /clever-graaljs-core/src/main/java/org/clever/graaljs/core/internal/PrintOutput.java: -------------------------------------------------------------------------------- 1 | package org.clever.graaljs.core.internal; 2 | 3 | /** 4 | * 作者:lizw
5 | * 创建时间:2020/07/26 08:33
6 | */ 7 | @FunctionalInterface 8 | public interface PrintOutput { 9 | 10 | /** 11 | * 打印输出 12 | * 13 | * @param args 输出数据 14 | */ 15 | void print(Object... args); 16 | } 17 | -------------------------------------------------------------------------------- /clever-graaljs-core/src/main/java/org/clever/graaljs/core/internal/proxy/ArrayListProxy.java: -------------------------------------------------------------------------------- 1 | package org.clever.graaljs.core.internal.proxy; 2 | 3 | import org.graalvm.polyglot.Value; 4 | import org.graalvm.polyglot.proxy.ProxyArray; 5 | 6 | import java.util.ArrayList; 7 | import java.util.Collection; 8 | 9 | /** 10 | * 作者:lizw
11 | * 创建时间:2020/10/10 15:02
12 | */ 13 | // TODO 删除 14 | public class ArrayListProxy extends ArrayList implements ProxyArray { 15 | protected final ListProxy listProxy = new ListProxy(this); 16 | 17 | public ArrayListProxy() { 18 | } 19 | 20 | public ArrayListProxy(int initialCapacity) { 21 | super(initialCapacity); 22 | } 23 | 24 | public ArrayListProxy(Collection c) { 25 | super(c); 26 | } 27 | 28 | @Override 29 | public Object get(long index) { 30 | return listProxy.get(index); 31 | } 32 | 33 | @Override 34 | public void set(long index, Value value) { 35 | listProxy.set(index, value); 36 | } 37 | 38 | @Override 39 | public boolean remove(long index) { 40 | return listProxy.remove(index); 41 | } 42 | 43 | @Override 44 | public long getSize() { 45 | return listProxy.getSize(); 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /clever-graaljs-core/src/main/java/org/clever/graaljs/core/internal/support/GraalObjectToString.java: -------------------------------------------------------------------------------- 1 | package org.clever.graaljs.core.internal.support; 2 | 3 | import com.oracle.truffle.api.interop.TruffleObject; 4 | import lombok.extern.slf4j.Slf4j; 5 | import org.clever.graaljs.core.internal.jackson.HostWrapperSerializer; 6 | import org.clever.graaljs.core.internal.jackson.JacksonMapperSupport; 7 | import org.graalvm.polyglot.Value; 8 | 9 | /** 10 | * 作者:lizw
11 | * 创建时间:2020/07/26 15:21
12 | */ 13 | @Slf4j 14 | public class GraalObjectToString extends ObjectToString { 15 | public static final GraalObjectToString Instance = new GraalObjectToString(); 16 | 17 | private GraalObjectToString() { 18 | JacksonMapperSupport.initGraalModule(); 19 | } 20 | 21 | @Override 22 | public String toString(Object obj) { 23 | if (null == obj) { 24 | return null; 25 | } 26 | if (obj instanceof Value) { 27 | return obj.toString(); 28 | } 29 | String className = obj.getClass().getName(); 30 | if (!HostWrapperSerializer.isSupport(className) && (obj instanceof TruffleObject || className.startsWith("com.oracle.truffle.") || className.startsWith("org.graalvm."))) { 31 | return obj.toString(); 32 | } 33 | return super.toString(obj); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /clever-graaljs-core/src/main/java/org/clever/graaljs/core/utils/TupleOne.java: -------------------------------------------------------------------------------- 1 | package org.clever.graaljs.core.utils; 2 | 3 | /** 4 | * 作者:lizw
5 | * 创建时间:2021/06/13 23:49
6 | */ 7 | public final class TupleOne { 8 | private static final int SIZE = 1; 9 | 10 | private A value1; 11 | 12 | public static TupleOne creat(final A value1) { 13 | return new TupleOne<>(value1); 14 | } 15 | 16 | public TupleOne(final A value1) { 17 | this.value1 = value1; 18 | } 19 | 20 | public int getSize() { 21 | return SIZE; 22 | } 23 | 24 | public A getValue1() { 25 | return value1; 26 | } 27 | 28 | public void setValue1(A val) { 29 | this.value1 = val; 30 | } 31 | } 32 | 33 | -------------------------------------------------------------------------------- /clever-graaljs-core/src/main/java/org/clever/graaljs/core/utils/TupleTow.java: -------------------------------------------------------------------------------- 1 | package org.clever.graaljs.core.utils; 2 | 3 | /** 4 | * 作者:lizw
5 | * 创建时间:2020/07/25 21:16
6 | */ 7 | public final class TupleTow { 8 | private static final int SIZE = 2; 9 | 10 | private A value1; 11 | private B value2; 12 | 13 | public static TupleTow creat(final A value1, final B value2) { 14 | return new TupleTow<>(value1, value2); 15 | } 16 | 17 | public TupleTow(final A value1, final B value2) { 18 | this.value1 = value1; 19 | this.value2 = value2; 20 | } 21 | 22 | public int getSize() { 23 | return SIZE; 24 | } 25 | 26 | public B getValue2() { 27 | return value2; 28 | } 29 | 30 | public void setValue2(B val) { 31 | value2 = val; 32 | } 33 | 34 | public A getValue1() { 35 | return value1; 36 | } 37 | 38 | public void setValue1(A val) { 39 | value1 = val; 40 | } 41 | 42 | @Override 43 | public String toString() { 44 | return "TupleTow{" + "value1=" + value1 + ", value2=" + value2 + '}'; 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /clever-graaljs-core/src/main/java/org/clever/graaljs/core/utils/tree/ITreeNode.java: -------------------------------------------------------------------------------- 1 | package org.clever.graaljs.core.utils.tree; 2 | 3 | import java.io.Serializable; 4 | import java.util.List; 5 | 6 | /** 7 | * 树节点接口,如果对象需要构建成一个树结构,则需要实现此接口
8 | *

9 | * 作者:LiZW
10 | * 创建时间:2016-5-8 22:07
11 | * 12 | * @see org.clever.graaljs.core.utils.tree.BuildTreeUtils 13 | */ 14 | public interface ITreeNode extends Serializable { 15 | 16 | /** 17 | * 节点ID(必须非空) 18 | */ 19 | Object getId(); 20 | 21 | /** 22 | * 父节点ID(根节点的ParentId等于null 或 空字符串) 23 | */ 24 | Object getParentId(); 25 | 26 | /** 27 | * 判断当前节点是否被构建到树中了 28 | */ 29 | @SuppressWarnings("BooleanMethodIsAlwaysInverted") 30 | boolean isBuild(); 31 | 32 | /** 33 | * 设置当前节点是否构建到树中 34 | */ 35 | void setBuild(boolean isBuild); 36 | 37 | /** 38 | * 返回所有子节点,必须是List否则顺序会不一致 39 | */ 40 | List getChildren(); 41 | 42 | /** 43 | * 增加子节点 44 | * 45 | * @param node 子节点 46 | */ 47 | void addChildren(ITreeNode node); 48 | 49 | /** 50 | * 当前节点是否是根节点 51 | * 52 | * @return true:是根节点 false:不是根节点 null:未知 53 | */ 54 | default Boolean isRoot() { 55 | return null; 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /clever-graaljs-core/src/test/java/org/clever/graaljs/core/builtin/AssertUtilsTest.java: -------------------------------------------------------------------------------- 1 | package org.clever.graaljs.core.builtin; 2 | 3 | import lombok.extern.slf4j.Slf4j; 4 | import org.apache.commons.io.IOUtils; 5 | import org.clever.graaljs.core.ScriptEngineConfig; 6 | import org.clever.graaljs.core.ScriptEngineInstance; 7 | import org.clever.graaljs.core.ScriptObject; 8 | import org.junit.jupiter.api.Test; 9 | 10 | import java.io.IOException; 11 | import java.nio.charset.StandardCharsets; 12 | import java.util.function.Consumer; 13 | 14 | /** 15 | * 作者:lizw
16 | * 创建时间:2021/06/11 14:34
17 | */ 18 | @Slf4j 19 | public class AssertUtilsTest { 20 | @Test 21 | public void t01() throws IOException { 22 | String code = IOUtils.resourceToString("/builtin/AssertUtilsTest.js", StandardCharsets.UTF_8); 23 | final ScriptEngineConfig config = new ScriptEngineConfig(); 24 | ScriptEngineInstance scriptEngineInstance = new ScriptEngineInstance(config); 25 | scriptEngineInstance.wrapFunctionAndEval(code, (Consumer) ScriptObject::executeVoid); 26 | scriptEngineInstance.close(); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /clever-graaljs-core/src/test/java/org/clever/graaljs/core/builtin/CommonUtilsTest.java: -------------------------------------------------------------------------------- 1 | package org.clever.graaljs.core.builtin; 2 | 3 | import lombok.extern.slf4j.Slf4j; 4 | import org.apache.commons.io.IOUtils; 5 | import org.clever.graaljs.core.ScriptEngineConfig; 6 | import org.clever.graaljs.core.ScriptEngineInstance; 7 | import org.clever.graaljs.core.ScriptObject; 8 | import org.junit.jupiter.api.Test; 9 | 10 | import java.io.IOException; 11 | import java.nio.charset.StandardCharsets; 12 | import java.util.function.Consumer; 13 | 14 | /** 15 | * 作者:lizw
16 | * 创建时间:2021/06/11 15:25
17 | */ 18 | @Slf4j 19 | public class CommonUtilsTest { 20 | @Test 21 | public void t01() throws IOException { 22 | String code = IOUtils.resourceToString("/builtin/CommonUtilsTest.js", StandardCharsets.UTF_8); 23 | final ScriptEngineConfig config = new ScriptEngineConfig(); 24 | ScriptEngineInstance scriptEngineInstance = new ScriptEngineInstance(config); 25 | scriptEngineInstance.wrapFunctionAndEval(code, (Consumer) ScriptObject::executeVoid); 26 | scriptEngineInstance.close(); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /clever-graaljs-core/src/test/java/org/clever/graaljs/core/builtin/CryptoUtilsTest.java: -------------------------------------------------------------------------------- 1 | package org.clever.graaljs.core.builtin; 2 | 3 | import lombok.extern.slf4j.Slf4j; 4 | import org.apache.commons.io.IOUtils; 5 | import org.clever.graaljs.core.ScriptEngineConfig; 6 | import org.clever.graaljs.core.ScriptEngineInstance; 7 | import org.clever.graaljs.core.ScriptObject; 8 | import org.junit.jupiter.api.Test; 9 | 10 | import java.io.IOException; 11 | import java.nio.charset.StandardCharsets; 12 | import java.util.function.Consumer; 13 | 14 | /** 15 | * 作者:lizw
16 | * 创建时间:2021/06/11 15:37
17 | */ 18 | @Slf4j 19 | public class CryptoUtilsTest { 20 | @Test 21 | public void t01() throws IOException { 22 | String code = IOUtils.resourceToString("/builtin/CryptoUtilsTest.js", StandardCharsets.UTF_8); 23 | final ScriptEngineConfig config = new ScriptEngineConfig(); 24 | ScriptEngineInstance scriptEngineInstance = new ScriptEngineInstance(config); 25 | scriptEngineInstance.wrapFunctionAndEval(code, (Consumer) ScriptObject::executeVoid); 26 | scriptEngineInstance.close(); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /clever-graaljs-core/src/test/java/org/clever/graaljs/core/builtin/DataSizeUtilsTest.java: -------------------------------------------------------------------------------- 1 | package org.clever.graaljs.core.builtin; 2 | 3 | import lombok.extern.slf4j.Slf4j; 4 | import org.apache.commons.io.IOUtils; 5 | import org.clever.graaljs.core.ScriptEngineConfig; 6 | import org.clever.graaljs.core.ScriptEngineInstance; 7 | import org.clever.graaljs.core.ScriptObject; 8 | import org.junit.jupiter.api.Test; 9 | 10 | import java.io.IOException; 11 | import java.nio.charset.StandardCharsets; 12 | import java.util.function.Consumer; 13 | 14 | /** 15 | * 作者:lizw
16 | * 创建时间:2021/06/11 15:42
17 | */ 18 | @Slf4j 19 | public class DataSizeUtilsTest { 20 | @Test 21 | public void t01() throws IOException { 22 | String code = IOUtils.resourceToString("/builtin/DataSizeUtilsTest.js", StandardCharsets.UTF_8); 23 | final ScriptEngineConfig config = new ScriptEngineConfig(); 24 | ScriptEngineInstance scriptEngineInstance = new ScriptEngineInstance(config); 25 | scriptEngineInstance.wrapFunctionAndEval(code, (Consumer) ScriptObject::executeVoid); 26 | scriptEngineInstance.close(); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /clever-graaljs-core/src/test/java/org/clever/graaljs/core/builtin/DateUtilsTest.java: -------------------------------------------------------------------------------- 1 | package org.clever.graaljs.core.builtin; 2 | 3 | import lombok.extern.slf4j.Slf4j; 4 | import org.apache.commons.io.IOUtils; 5 | import org.clever.graaljs.core.ScriptEngineConfig; 6 | import org.clever.graaljs.core.ScriptEngineInstance; 7 | import org.clever.graaljs.core.ScriptObject; 8 | import org.junit.jupiter.api.Test; 9 | 10 | import java.io.IOException; 11 | import java.nio.charset.StandardCharsets; 12 | import java.util.function.Consumer; 13 | 14 | /** 15 | * 作者:lizw
16 | * 创建时间:2021/06/11 15:45
17 | */ 18 | @Slf4j 19 | public class DateUtilsTest { 20 | @Test 21 | public void t01() throws IOException { 22 | String code = IOUtils.resourceToString("/builtin/DateUtilsTest.js", StandardCharsets.UTF_8); 23 | final ScriptEngineConfig config = new ScriptEngineConfig(); 24 | ScriptEngineInstance scriptEngineInstance = new ScriptEngineInstance(config); 25 | scriptEngineInstance.wrapFunctionAndEval(code, (Consumer) ScriptObject::executeVoid); 26 | scriptEngineInstance.close(); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /clever-graaljs-core/src/test/java/org/clever/graaljs/core/builtin/DigestUtilsTest.java: -------------------------------------------------------------------------------- 1 | package org.clever.graaljs.core.builtin; 2 | 3 | import lombok.extern.slf4j.Slf4j; 4 | import org.apache.commons.io.IOUtils; 5 | import org.clever.graaljs.core.ScriptEngineConfig; 6 | import org.clever.graaljs.core.ScriptEngineInstance; 7 | import org.clever.graaljs.core.ScriptObject; 8 | import org.junit.jupiter.api.Test; 9 | 10 | import java.io.IOException; 11 | import java.nio.charset.StandardCharsets; 12 | import java.util.function.Consumer; 13 | 14 | /** 15 | * 作者:lizw
16 | * 创建时间:2021/06/11 15:56
17 | */ 18 | @Slf4j 19 | public class DigestUtilsTest { 20 | @Test 21 | public void t01() throws IOException { 22 | String code = IOUtils.resourceToString("/builtin/DigestUtilsTest.js", StandardCharsets.UTF_8); 23 | final ScriptEngineConfig config = new ScriptEngineConfig(); 24 | ScriptEngineInstance scriptEngineInstance = new ScriptEngineInstance(config); 25 | scriptEngineInstance.wrapFunctionAndEval(code, (Consumer) ScriptObject::executeVoid); 26 | scriptEngineInstance.close(); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /clever-graaljs-core/src/test/java/org/clever/graaljs/core/builtin/EncodeDecodeUtilsTest.java: -------------------------------------------------------------------------------- 1 | package org.clever.graaljs.core.builtin; 2 | 3 | import lombok.extern.slf4j.Slf4j; 4 | import org.apache.commons.io.IOUtils; 5 | import org.clever.graaljs.core.ScriptEngineConfig; 6 | import org.clever.graaljs.core.ScriptEngineInstance; 7 | import org.clever.graaljs.core.ScriptObject; 8 | import org.junit.jupiter.api.Test; 9 | 10 | import java.io.IOException; 11 | import java.nio.charset.StandardCharsets; 12 | import java.util.function.Consumer; 13 | 14 | /** 15 | * 作者:lizw
16 | * 创建时间:2021/06/11 15:59
17 | */ 18 | @Slf4j 19 | public class EncodeDecodeUtilsTest { 20 | @Test 21 | public void t01() throws IOException { 22 | String code = IOUtils.resourceToString("/builtin/EncodeDecodeUtilsTest.js", StandardCharsets.UTF_8); 23 | final ScriptEngineConfig config = new ScriptEngineConfig(); 24 | ScriptEngineInstance scriptEngineInstance = new ScriptEngineInstance(config); 25 | scriptEngineInstance.wrapFunctionAndEval(code, (Consumer) ScriptObject::executeVoid); 26 | scriptEngineInstance.close(); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /clever-graaljs-core/src/test/java/org/clever/graaljs/core/builtin/IDCardUtilsTest.java: -------------------------------------------------------------------------------- 1 | package org.clever.graaljs.core.builtin; 2 | 3 | import lombok.extern.slf4j.Slf4j; 4 | import org.apache.commons.io.IOUtils; 5 | import org.clever.graaljs.core.ScriptEngineConfig; 6 | import org.clever.graaljs.core.ScriptEngineInstance; 7 | import org.clever.graaljs.core.ScriptObject; 8 | import org.junit.jupiter.api.Test; 9 | 10 | import java.io.IOException; 11 | import java.nio.charset.StandardCharsets; 12 | import java.util.function.Consumer; 13 | 14 | /** 15 | * 作者:lizw
16 | * 创建时间:2021/06/11 16:07
17 | */ 18 | @Slf4j 19 | public class IDCardUtilsTest { 20 | @Test 21 | public void t01() throws IOException { 22 | String code = IOUtils.resourceToString("/builtin/IDCardUtilsTest.js", StandardCharsets.UTF_8); 23 | final ScriptEngineConfig config = new ScriptEngineConfig(); 24 | ScriptEngineInstance scriptEngineInstance = new ScriptEngineInstance(config); 25 | scriptEngineInstance.wrapFunctionAndEval(code, (Consumer) ScriptObject::executeVoid); 26 | scriptEngineInstance.close(); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /clever-graaljs-core/src/test/java/org/clever/graaljs/core/builtin/IDGenerateUtilsTest.java: -------------------------------------------------------------------------------- 1 | package org.clever.graaljs.core.builtin; 2 | 3 | import lombok.extern.slf4j.Slf4j; 4 | import org.apache.commons.io.IOUtils; 5 | import org.clever.graaljs.core.ScriptEngineConfig; 6 | import org.clever.graaljs.core.ScriptEngineInstance; 7 | import org.clever.graaljs.core.ScriptObject; 8 | import org.junit.jupiter.api.Test; 9 | 10 | import java.io.IOException; 11 | import java.nio.charset.StandardCharsets; 12 | import java.util.function.Consumer; 13 | 14 | /** 15 | * 作者:lizw
16 | * 创建时间:2021/06/11 16:18
17 | */ 18 | @Slf4j 19 | public class IDGenerateUtilsTest { 20 | @Test 21 | public void t01() throws IOException { 22 | String code = IOUtils.resourceToString("/builtin/IDGenerateUtilsTest.js", StandardCharsets.UTF_8); 23 | final ScriptEngineConfig config = new ScriptEngineConfig(); 24 | ScriptEngineInstance scriptEngineInstance = new ScriptEngineInstance(config); 25 | scriptEngineInstance.wrapFunctionAndEval(code, (Consumer) ScriptObject::executeVoid); 26 | scriptEngineInstance.close(); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /clever-graaljs-core/src/test/java/org/clever/graaljs/core/builtin/IOUtilsTest.java: -------------------------------------------------------------------------------- 1 | package org.clever.graaljs.core.builtin; 2 | 3 | import lombok.extern.slf4j.Slf4j; 4 | import org.apache.commons.io.IOUtils; 5 | import org.clever.graaljs.core.ScriptEngineConfig; 6 | import org.clever.graaljs.core.ScriptEngineInstance; 7 | import org.clever.graaljs.core.ScriptObject; 8 | import org.junit.jupiter.api.Test; 9 | 10 | import java.io.IOException; 11 | import java.nio.charset.StandardCharsets; 12 | import java.util.function.Consumer; 13 | 14 | /** 15 | * 作者:lizw
16 | * 创建时间:2021/06/11 16:25
17 | */ 18 | @Slf4j 19 | public class IOUtilsTest { 20 | @Test 21 | public void t01() throws IOException { 22 | String code = IOUtils.resourceToString("/builtin/IOUtilsTest.js", StandardCharsets.UTF_8); 23 | final ScriptEngineConfig config = new ScriptEngineConfig(); 24 | ScriptEngineInstance scriptEngineInstance = new ScriptEngineInstance(config); 25 | scriptEngineInstance.wrapFunctionAndEval(code, (Consumer) ScriptObject::executeVoid); 26 | scriptEngineInstance.close(); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /clever-graaljs-core/src/test/java/org/clever/graaljs/core/builtin/IPAddressUtilsTest.java: -------------------------------------------------------------------------------- 1 | package org.clever.graaljs.core.builtin; 2 | 3 | import lombok.extern.slf4j.Slf4j; 4 | import org.apache.commons.io.IOUtils; 5 | import org.clever.graaljs.core.ScriptEngineConfig; 6 | import org.clever.graaljs.core.ScriptEngineInstance; 7 | import org.clever.graaljs.core.ScriptObject; 8 | import org.junit.jupiter.api.Test; 9 | 10 | import java.io.IOException; 11 | import java.nio.charset.StandardCharsets; 12 | import java.util.function.Consumer; 13 | 14 | /** 15 | * 作者:lizw
16 | * 创建时间:2021/06/11 16:32
17 | */ 18 | @Slf4j 19 | public class IPAddressUtilsTest { 20 | @Test 21 | public void t01() throws IOException { 22 | String code = IOUtils.resourceToString("/builtin/IPAddressUtilsTest.js", StandardCharsets.UTF_8); 23 | final ScriptEngineConfig config = new ScriptEngineConfig(); 24 | ScriptEngineInstance scriptEngineInstance = new ScriptEngineInstance(config); 25 | scriptEngineInstance.wrapFunctionAndEval(code, (Consumer) ScriptObject::executeVoid); 26 | scriptEngineInstance.close(); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /clever-graaljs-core/src/test/java/org/clever/graaljs/core/builtin/ImageValidateUtilsTest.java: -------------------------------------------------------------------------------- 1 | package org.clever.graaljs.core.builtin; 2 | 3 | import lombok.extern.slf4j.Slf4j; 4 | import org.apache.commons.io.IOUtils; 5 | import org.clever.graaljs.core.ScriptEngineConfig; 6 | import org.clever.graaljs.core.ScriptEngineInstance; 7 | import org.clever.graaljs.core.ScriptObject; 8 | import org.junit.jupiter.api.Test; 9 | 10 | import java.io.IOException; 11 | import java.nio.charset.StandardCharsets; 12 | import java.util.function.Consumer; 13 | 14 | /** 15 | * 作者:lizw
16 | * 创建时间:2021/06/11 16:21
17 | */ 18 | @Slf4j 19 | public class ImageValidateUtilsTest { 20 | @Test 21 | public void t01() throws IOException { 22 | String code = IOUtils.resourceToString("/builtin/ImageValidateUtilsTest.js", StandardCharsets.UTF_8); 23 | final ScriptEngineConfig config = new ScriptEngineConfig(); 24 | ScriptEngineInstance scriptEngineInstance = new ScriptEngineInstance(config); 25 | scriptEngineInstance.wrapFunctionAndEval(code, (Consumer) ScriptObject::executeVoid); 26 | scriptEngineInstance.close(); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /clever-graaljs-core/src/test/java/org/clever/graaljs/core/builtin/JsonUtilsTest.java: -------------------------------------------------------------------------------- 1 | package org.clever.graaljs.core.builtin; 2 | 3 | import lombok.extern.slf4j.Slf4j; 4 | import org.apache.commons.io.IOUtils; 5 | import org.clever.graaljs.core.ScriptEngineConfig; 6 | import org.clever.graaljs.core.ScriptEngineInstance; 7 | import org.clever.graaljs.core.ScriptObject; 8 | import org.junit.jupiter.api.Test; 9 | 10 | import java.io.IOException; 11 | import java.nio.charset.StandardCharsets; 12 | import java.util.function.Consumer; 13 | 14 | /** 15 | * 作者:lizw
16 | * 创建时间:2021/06/11 16:34
17 | */ 18 | @Slf4j 19 | public class JsonUtilsTest { 20 | @Test 21 | public void t01() throws IOException { 22 | String code = IOUtils.resourceToString("/builtin/JsonUtilsTest.js", StandardCharsets.UTF_8); 23 | final ScriptEngineConfig config = new ScriptEngineConfig(); 24 | ScriptEngineInstance scriptEngineInstance = new ScriptEngineInstance(config); 25 | scriptEngineInstance.wrapFunctionAndEval(code, (Consumer) ScriptObject::executeVoid); 26 | scriptEngineInstance.close(); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /clever-graaljs-core/src/test/java/org/clever/graaljs/core/builtin/RMBUtilsTest.java: -------------------------------------------------------------------------------- 1 | package org.clever.graaljs.core.builtin; 2 | 3 | import lombok.extern.slf4j.Slf4j; 4 | import org.apache.commons.io.IOUtils; 5 | import org.clever.graaljs.core.ScriptEngineConfig; 6 | import org.clever.graaljs.core.ScriptEngineInstance; 7 | import org.clever.graaljs.core.ScriptObject; 8 | import org.junit.jupiter.api.Test; 9 | 10 | import java.io.IOException; 11 | import java.nio.charset.StandardCharsets; 12 | import java.util.function.Consumer; 13 | 14 | /** 15 | * 作者:lizw
16 | * 创建时间:2021/06/11 16:36
17 | */ 18 | @Slf4j 19 | public class RMBUtilsTest { 20 | @Test 21 | public void t01() throws IOException { 22 | String code = IOUtils.resourceToString("/builtin/RMBUtilsTest.js", StandardCharsets.UTF_8); 23 | final ScriptEngineConfig config = new ScriptEngineConfig(); 24 | ScriptEngineInstance scriptEngineInstance = new ScriptEngineInstance(config); 25 | scriptEngineInstance.wrapFunctionAndEval(code, (Consumer) ScriptObject::executeVoid); 26 | scriptEngineInstance.close(); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /clever-graaljs-core/src/test/java/org/clever/graaljs/core/builtin/StringUtilsTest.java: -------------------------------------------------------------------------------- 1 | package org.clever.graaljs.core.builtin; 2 | 3 | import lombok.extern.slf4j.Slf4j; 4 | import org.apache.commons.io.IOUtils; 5 | import org.clever.graaljs.core.ScriptEngineConfig; 6 | import org.clever.graaljs.core.ScriptEngineInstance; 7 | import org.clever.graaljs.core.ScriptObject; 8 | import org.junit.jupiter.api.Test; 9 | 10 | import java.io.IOException; 11 | import java.nio.charset.StandardCharsets; 12 | import java.util.function.Consumer; 13 | 14 | /** 15 | * 作者:lizw
16 | * 创建时间:2021/06/11 16:37
17 | */ 18 | @Slf4j 19 | public class StringUtilsTest { 20 | @Test 21 | public void t01() throws IOException { 22 | String code = IOUtils.resourceToString("/builtin/StringUtilsTest.js", StandardCharsets.UTF_8); 23 | final ScriptEngineConfig config = new ScriptEngineConfig(); 24 | ScriptEngineInstance scriptEngineInstance = new ScriptEngineInstance(config); 25 | scriptEngineInstance.wrapFunctionAndEval(code, (Consumer) ScriptObject::executeVoid); 26 | scriptEngineInstance.close(); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /clever-graaljs-core/src/test/java/org/clever/graaljs/core/builtin/ThreadUtilsTest.java: -------------------------------------------------------------------------------- 1 | package org.clever.graaljs.core.builtin; 2 | 3 | import lombok.extern.slf4j.Slf4j; 4 | import org.apache.commons.io.IOUtils; 5 | import org.clever.graaljs.core.ScriptEngineConfig; 6 | import org.clever.graaljs.core.ScriptEngineInstance; 7 | import org.clever.graaljs.core.ScriptObject; 8 | import org.junit.jupiter.api.Test; 9 | 10 | import java.io.IOException; 11 | import java.nio.charset.StandardCharsets; 12 | import java.util.function.Consumer; 13 | 14 | /** 15 | * 作者:lizw
16 | * 创建时间:2021/06/11 16:48
17 | */ 18 | @Slf4j 19 | public class ThreadUtilsTest { 20 | @Test 21 | public void t01() throws IOException { 22 | String code = IOUtils.resourceToString("/builtin/ThreadUtilsTest.js", StandardCharsets.UTF_8); 23 | final ScriptEngineConfig config = new ScriptEngineConfig(); 24 | ScriptEngineInstance scriptEngineInstance = new ScriptEngineInstance(config); 25 | scriptEngineInstance.wrapFunctionAndEval(code, (Consumer) ScriptObject::executeVoid); 26 | scriptEngineInstance.close(); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /clever-graaljs-core/src/test/java/org/clever/graaljs/core/builtin/UnderlineToCamelUtilsTest.java: -------------------------------------------------------------------------------- 1 | package org.clever.graaljs.core.builtin; 2 | 3 | import lombok.extern.slf4j.Slf4j; 4 | import org.apache.commons.io.IOUtils; 5 | import org.clever.graaljs.core.ScriptEngineConfig; 6 | import org.clever.graaljs.core.ScriptEngineInstance; 7 | import org.clever.graaljs.core.ScriptObject; 8 | import org.junit.jupiter.api.Test; 9 | 10 | import java.io.IOException; 11 | import java.nio.charset.StandardCharsets; 12 | import java.util.function.Consumer; 13 | 14 | /** 15 | * 作者:lizw
16 | * 创建时间:2021/06/12 12:40
17 | */ 18 | @Slf4j 19 | public class UnderlineToCamelUtilsTest { 20 | @Test 21 | public void t01() throws IOException { 22 | String code = IOUtils.resourceToString("/builtin/UnderlineToCamelUtilsTest.js", StandardCharsets.UTF_8); 23 | final ScriptEngineConfig config = new ScriptEngineConfig(); 24 | ScriptEngineInstance scriptEngineInstance = new ScriptEngineInstance(config); 25 | scriptEngineInstance.wrapFunctionAndEval(code, (Consumer) ScriptObject::executeVoid); 26 | scriptEngineInstance.close(); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /clever-graaljs-core/src/test/java/org/clever/graaljs/core/builtin/XmlUtilsTest.java: -------------------------------------------------------------------------------- 1 | package org.clever.graaljs.core.builtin; 2 | 3 | import lombok.extern.slf4j.Slf4j; 4 | import org.apache.commons.io.IOUtils; 5 | import org.clever.graaljs.core.ScriptEngineConfig; 6 | import org.clever.graaljs.core.ScriptEngineInstance; 7 | import org.clever.graaljs.core.ScriptObject; 8 | import org.junit.jupiter.api.Test; 9 | 10 | import java.io.IOException; 11 | import java.nio.charset.StandardCharsets; 12 | import java.util.function.Consumer; 13 | 14 | /** 15 | * 作者:lizw
16 | * 创建时间:2021/06/11 16:55
17 | */ 18 | @Slf4j 19 | public class XmlUtilsTest { 20 | @Test 21 | public void t01() throws IOException { 22 | String code = IOUtils.resourceToString("/builtin/XmlUtilsTest.js", StandardCharsets.UTF_8); 23 | final ScriptEngineConfig config = new ScriptEngineConfig(); 24 | ScriptEngineInstance scriptEngineInstance = new ScriptEngineInstance(config); 25 | scriptEngineInstance.wrapFunctionAndEval(code, (Consumer) ScriptObject::executeVoid); 26 | scriptEngineInstance.close(); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /clever-graaljs-core/src/test/java/org/clever/graaljs/core/builtin/wrap/HttpUtilsTest.java: -------------------------------------------------------------------------------- 1 | package org.clever.graaljs.core.builtin.wrap; 2 | 3 | import lombok.extern.slf4j.Slf4j; 4 | import org.apache.commons.io.IOUtils; 5 | import org.clever.graaljs.core.ScriptEngineConfig; 6 | import org.clever.graaljs.core.ScriptEngineInstance; 7 | import org.clever.graaljs.core.ScriptObject; 8 | import org.junit.jupiter.api.Test; 9 | 10 | import java.io.IOException; 11 | import java.nio.charset.StandardCharsets; 12 | import java.util.function.Consumer; 13 | 14 | /** 15 | * 作者:lizw
16 | * 创建时间:2021/06/13 13:47
17 | */ 18 | @Slf4j 19 | public class HttpUtilsTest { 20 | @Test 21 | public void t01() throws IOException { 22 | String code = IOUtils.resourceToString("/builtin/HttpUtilsTest.js", StandardCharsets.UTF_8); 23 | final ScriptEngineConfig config = new ScriptEngineConfig(); 24 | ScriptEngineInstance scriptEngineInstance = new ScriptEngineInstance(config); 25 | scriptEngineInstance.wrapFunctionAndEval(code, (Consumer) 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[] 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[] 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[] 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 --------------------------------------------------------------------------------