Popularity
0.8
Growing
Activity
0.0
Declining
11
2
0

Programming language: Kotlin
License: MIT License
Tags: Misc    
Latest version: v1.2.1

breeze-framework alternatives and similar libraries

Based on the "Misc" category.
Alternatively, view breeze-framework alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of breeze-framework or a related project?

Add another 'Misc' Library

README

概述

[中文文档](README.md) | [English Document](README_en.md)

Github

基于Kotlin的整合代码框架,为标准库和其他框架提供各种有用的扩展。

注意:

  • 这个框架仍然有待完善,但是你现在就可以使用它的一些有用的功能。
  • 这个框架是为Kotlin-JVM设计的,但是你自然可以在Java中使用它的一部分功能。
  • 这个框架仍在更新中,未来将会提供更多的模块和功能。

模块

breeze-core

为Kotlin标准库补充功能和扩展,并且提供许多日常项目开发中经常用到的工具和扩展。例如:

  • 额外的运算符重载方法。如String.minusString.timesString.div
  • 额外的类型转换方法。如String.toFileString.toLocalDateTimeString.toIntRange
  • 额外的字符串处理方法。如String.quoteString.escapeByString.switchCaseBy
  • 额外的集合操作方法。如List.bindList.deepGetList.deepSetList.deepQuery
  • 额外的元组操作方法。如Tuple.mapTuple.toListTuple.toRange
  • 用于委托实现equalshashCodetoString的工具方法。如equalsByhashCodeBytoStringBytoStringByReference

breeze-dsl

提供简洁而灵活的领域特定语言的api,为常见的标记语言提供支持,便于生成对应的文本,并允许进行充分的配置。例如:

  • XmlMarkdownCreole等标记语言。
  • MermaidFlowSequence等绘图语言。
  • 其他一些特殊格式的文本。

breeze-functional

提供一些函数式编程中可能用到的扩展方法。支持0到11个参数的函数。例如:

  • 用于柯里化/反柯里化当前函数的currieduncurried方法。
  • 用于反转当前函数的参数的reversed方法。
  • 用于绑定/解绑当前函数的参数的tupleduntupled方法。
  • 用于得到当前函数的偏函数的partialpartialLast方法。

breeze-generator

[有待完善] 提供一些具有特定用途的生成器。例如:

  • 用于生成各种格式的链接的UrlGenerator
  • 用于生成扩展Json Schema的JsonSchemaGenerator

breeze-http

[有待完善] 提供简洁而直观的Http api,封装Java原生的Http api,并允许进行充分的配置。

注意:可能需要配合第三方序列化库如Gson使用。

breeze-javafx

[有待完善] 为JavaFX补充功能和扩展。

breeze-linq

[有待完善] 提供简洁而直观的语言集成查询的api,允许以类似sql的方式,实现集合的查询操作。

注意:这个api本身不包含集合数据。

breeze-logger

[有待完善] 提供简单而独立的日志器的api,并允许进行充分的配置。例如:

  • 包含了一般日志信息的SimpleLogger
  • 可以输出彩色的控制台文本的ColorfulLogger

breeze-mapper

[有待完全实现] 提供简单而独立的映射器的api,用于进行数据的序列化与反序列化操作,并允许进行充分的配置。例如:

  • 用于映射和反映射对象的ObjectMapper
  • 用于映射常见标记语言的JsonMapperYamlMapperXmlMapperPropertiesMapper

breeze-reflect

为Java反射和Kotlin反射补充功能和扩展。例如:

  • 直接得到类型、对象、属性、方法的名字的nameOf方法。
  • 直接得到Java类型的javaTypeOf方法。
  • 直接得到取值方法和赋值方法的Class.gettersClass.setters属性。

breeze-serializer

提供简洁而统一的序列化器的api,用于进行数据的序列化和反序列化操作,并允许进行充分的配置。由第三方库委托实现,例如:

  • breeze-mapper委托实现的BreezeJsonSerializerBreezeXmlSerializer等。这是默认的实现,也是最简单的一种实现。
  • Kotlinx Serialization委托实现的KotlinJsonSerializer等。这是最推荐的一种实现。
  • Jackson委托实现的JacksonJsonSerializerJacksonXmlSerializer等。这是最全面的一种实现。
  • Gson委托实现的GsonSerializer
  • FastJson委托实现的FastJsonSerializer
  • 另外还提供了一些便于进行序列化和反序列化的扩展方法。如Any?.serializeString.deserialize

breeze-spring-boot

[有待完善] 为Spring Boot补充功能和扩展,并且提供额外的组件和自动配置。

breeze-time

为Java的时间api补充功能和扩展。

  • 支持传统的时间api。包括DateCalendar等。
  • 支持Java8的时间api。包括LocalDateLocalDateTime等。
  • 为数字类型提供额外的属性,用于生成时间。如1.seconds2.minutes3.years
  • 为时长和时期提供额外的运算符重载方法。如Duration.unaryMinusPeriod.times

参考

依赖 & 可选依赖

实现参考

用法

项目已发布到JCenter。

Maven

<dependency>
  <groupId>com.windea.breezeframework</groupId>
  <artifactId>${module}</artifactId>
  <version>${version}</version>
</dependency>

Gradle

implementation "com.windea.breezeframework:$module:$version"

Gradle Kts

implementation("com.windea.breezeframework:$module:$version")

示例

参见:

  • [ExampleTest.kt](breeze-core/src/test/kotlin/ExampleTest.kt)