Java
Euonia OSBA 模块 API 文档
概述¶
OSBA(Object-Oriented Scalable Business Architecture)模块是 Euonia 框架的核心业务对象系统,提供属性管理、规则检查、授权和属性变更通知等核心功能。该模块定义了业务对象的完整生命周期管理,包括创建、读取、更新、删除操作,以及基于注解的工厂模式和反射工具。
- Maven 坐标:
com.euonia:osba - Java 模块名:
com.euonia.osba
导出包¶
com.euonia.osba¶
核心业务对象包,包含业务对象基类层次结构(BusinessObject → ObservableObject → EditableObject / ReadOnlyObject / ExecutableObject),以及业务上下文、可观察列表和事件参数类。
| 类名 | 类型 | 说明 |
|---|---|---|
| BusinessObject | abstract class | 业务对象的抽象基类,提供属性管理、规则检查、授权和属性变更通知 |
| BusinessContext | class | 业务上下文,为工厂创建的业务对象提供服务解析和实例创建网关 |
| EditableObject | abstract class | 可编辑的业务对象,可保存到数据库或其他持久化存储 |
| ExecutableObject | abstract class | 可执行的业务对象 |
| ObservableObject | abstract class | 可观察的业务对象,跟踪编辑状态和忙碌状态 |
| ObservableList | class | 可观察列表,提供子属性通知、集合变更通知和忙碌状态通知 |
| ReadOnlyObject | abstract class | 只读业务对象 |
| ObjectChangedEventArgs | class | 属性更改或集合更改事件参数 |
| ObjectEditState | enum | 对象的编辑状态(NONE, NEW, CHANGED, DELETED) |
| SavedEventArgs | class | 保存事件参数 |
com.euonia.osba.abstracts¶
定义业务对象行为的抽象接口和契约。
| 类名 | 类型 | 说明 |
|---|---|---|
| TrackableObject | interface | 跟踪对象状态的接口(有效性、变更、删除、新建、可保存、忙碌) |
| RuleCheckable | interface | 规则检查接口 |
| Savable | interface | 可保存到持久化存储的标记接口 |
| UseBusinessContext | interface | 使用业务上下文的标记接口 |
| OperableProperty | interface | 可操作属性的契约接口 |
com.euonia.osba.rules¶
规则引擎包,提供业务对象验证规则的定义、执行和违规追踪,支持 Lambda 表达式规则、数据注解驱动规则、正则表达式规则和必填验证规则。
| 类名 | 类型 | 说明 |
|---|---|---|
| Rule | interface | 规则接口,定义规则的基本契约 |
| RuleBase | abstract class | 规则的基础实现 |
| Rules | class | 规则执行器,负责管理业务对象实例的验证规则执行、跟踪已违反的规则并通知监听器 |
| RuleManager | class | 按类型管理规则的线程安全容器,使用 ConcurrentHashMap 存储不同类型的规则列表 |
| RuleContext | class | 规则执行上下文 |
| RuleResult | class | 规则执行结果 |
| RuleSeverity | enum | 规则严重级别(ERROR, WARNING, INFORMATION, SUCCESS) |
| BrokenRule | record | 已破坏的规则,包含属性名、违规描述和严重级别 |
| BrokenRuleCollection | class | 已破坏规则集合 |
| RuleCheckException | class | 规则校验异常,携带按属性分组的校验错误,映射 HTTP 400 状态码 |
| LambdaRule | class | Lambda 表达式验证规则 |
| RequiredRule | class | 必填验证规则 |
| RegularRule | class | 正则表达式验证规则 |
| DataAnnotationRule | class | 基于数据注解的验证规则 |
com.euonia.factory¶
工厂模式包,定义业务对象创建和生命周期管理的工厂接口与实现。
| 类名 | 类型 | 说明 |
|---|---|---|
| ObjectFactory | interface | 对象工厂接口 |
| BusinessObjectFactory | class | ObjectFactory 接口的实现,通过反射发现带注解的工厂方法,支持与 ServiceProvider 集成 |
com.euonia.factory.annotation¶
工厂方法注解,用于标记业务对象的工厂方法。
| 类名 | 类型 | 说明 |
|---|---|---|
| FactoryCreate | annotation | 标记创建对象的工厂方法 |
| FactoryFetch | annotation | 标记获取对象的工厂方法 |
| FactoryInsert | annotation | 标记插入对象的工厂方法 |
| FactoryUpdate | annotation | 标记更新对象的工厂方法 |
| FactoryDelete | annotation | 标记删除对象的工厂方法 |
| FactoryExecute | annotation | 标记执行操作的工厂方法 |
com.euonia.reflection¶
反射工具包,提供属性元数据管理(PropertyInfo)、字段数据追踪(FieldData)、工厂方法反射查找(ObjectReflector)以及相关异常类。
| 类名 | 类型 | 说明 |
|---|---|---|
| PropertyInfo | class | 属性元数据信息 |
| PropertyInfoList | class | 线程安全的属性信息列表 |
| PropertyInfoManager | class | 属性信息缓存管理器 |
| FieldData | class | 字段数据,跟踪字段变化 |
| FieldDataManager | class | 字段数据管理器 |
| ObjectReflector | class | 反射工具类,提供基于注解的工厂方法查找,带缓存支持 |
依赖¶
com.euonia:core— 核心工具类(PriorityValueFinder 等)com.euonia.security— 安全相关(UnauthorizedAccessException)com.euonia.annotation— 注解定义(Validator, Validation, DisplayName)com.euonia.http— HTTP 相关(ResponseHttpStatusCode, RequestContextAwareExecutor)com.euonia.tuple— 元组类型(Duet)com.euonia.utility— 工具类(Assert)