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)