Package cloud.opencode.base.functional
package cloud.opencode.base.functional
OpenCode Functional - Functional Programming Utilities for JDK 25+
OpenCode 函数式编程工具库
Provides comprehensive functional programming utilities including Monads, Pattern Matching, Pipeline operations, and Lens optics for immutable data.
提供全面的函数式编程工具,包括 Monad 类型、模式匹配、管道操作和用于不可变数据的 Lens 光学类型。
Core Features | 核心功能:
cloud.opencode.base.functional.monad- Monad types (Try/Either/Option/Validation/Lazy)cloud.opencode.base.functional.function- Function utilities (compose/curry/memoize)cloud.opencode.base.functional.pattern- Pattern matching (OpenMatch)cloud.opencode.base.functional.pipeline- Data pipeline operationscloud.opencode.base.functional.optics- Lens for immutable updatescloud.opencode.base.functional.async- Virtual thread async utilities
Quick Start | 快速开始:
// Try - Exception handling
Try<User> user = Try.of(() -> userService.findById(id))
.map(this::enrichUser)
.recover(e -> User.DEFAULT);
// Either - Error handling
Either<Error, User> result = validateUser(input)
.map(this::saveUser);
// Pipeline - Data transformation
String result = Pipeline.<String>start()
.then(String::trim)
.then(String::toUpperCase)
.execute(input);
// Function composition
var addThenDouble = FunctionUtil.compose(x -> x + 1, x -> x * 2);
Dependencies | 依赖:
- opencode-base-core - Tuple, basic functional interfaces
- Since:
- JDK 25, opencode-base-functional V1.0.0
- Author:
- Leon Soo www.LeonSoo.com
- See Also:
-
ClassesClassDescriptionOpenFunctional - Unified entry point for functional programming utilities OpenFunctional - 函数式编程工具的统一入口点