import { IPSModelObject } from './ipsmodel-object'; import { IPSModelService } from './ipsmodel-service'; import { ModelServiceStore } from './core'; import { IPSModelServiceProxy } from './ipsmodel-service-proxy'; /** * 模型服务 * * @export * @abstract * @class PSModelServiceImplBaseBase * @implements {IPSModelService} */ export declare abstract class PSModelServiceImplBaseBase implements IPSModelService { protected loadModel: (modelPath: string) => IModel; /** * 数据缓存对象 * * @author chitanda * @date 2021-12-26 16:12:44 * @protected * @type {ModelServiceStore} */ protected store: ModelServiceStore; /** * Creates an instance of PSModelServiceImplBaseBase. * * @author chitanda * @date 2021-12-26 17:12:03 * @param {(modelPath: string) => IModel} loadModel 加载模型方法 */ constructor(loadModel: (modelPath: string) => IModel); /** * 获取根节点模型对象,如: 系统 or 应用 * * @author chitanda * @date 2022-08-09 10:08:00 * @return {*} {IPSModelObject} */ getRootModel(): IPSModelObject; /** * 初始化 * * @author chitanda * @date 2022-03-06 17:03:25 */ onInit(): void; /** * 模型缓存 * * @author chitanda * @date 2022-08-09 10:08:45 * @return {*} {ModelServiceStore} */ getStore(): ModelServiceStore; /** * 获取模型对象 * * @param {string} cls * @param {string} strPath * @return {*} {Promise} */ getPSModel(cls: string, strPath: string, refObj?: IModel, relatedPSModelObject?: IPSModelObject): IPSModelObject; /** * 根据类型建立模型对象 * * @protected * @param {IPSModelObject} parentPSModelObject * @param {string} cls * @param {IModel} [objNode] * @return {*} {IPSModelObject} */ protected createPSModelObject(cls: string, objNode?: IModel, parentPSModelObject?: IPSModelObject): IPSModelObject; /** * 创建指定对象 * * @protected * @param {IPSModelObject} _parentPSModelObject * @param {string} _cls * @param {IModel} [_objNode] * @return {*} {IPSModelObject} */ protected onCreatePSModelObject(_parentPSModelObject: IPSModelObject, _cls: string, _objNode?: IModel): IPSModelObject | null; /** * 根据类型,获取模型服务 * * @author chitanda * @date 2021-12-26 15:12:25 * @protected * @param {string} cls * @param {IPSModelObject} [modelObject] * @return {*} {IPSModelService} */ protected getPSModelService(cls: string, modelObject?: IPSModelObject): IPSModelService; /** * 根据类型创建模型代理类 * * @protected * @param {string} _cls * @param {IPSModelObject} _modelObject * @return {*} {IPSModelServiceProxy} */ protected createPSModelServiceProxy(_cls: string, _modelObject: IPSModelObject): IPSModelServiceProxy | null; /** * 根据路径获取模型 * * @author chitanda * @date 2021-12-26 17:12:50 * @param {IPSModelObject} _relatedPSModelObject * @param {string} filePath * @return {*} {IModel} */ getModel(_relatedPSModelObject: IPSModelObject, filePath: string): IModel; /** * 查找指定模型 * * @author chitanda * @date 2021-06-08 20:06:44 * @param {IPSModelObject} relatedPSModelObject 相关模型 * @param {string} cls 类型标识 * @param {IModel} obj 模型 * @param {string} [strTag] 方法标识 * @return {*} {IPSModelObject} */ getPSModel4(relatedPSModelObject: IPSModelObject, cls: string, obj: IModel, strTag?: string): IPSModelObject; /** * 从集合里边提取,符合目标key的对象 * * @param {IPSModelObject} _relatedPSModelObject 相关模型 * @param {string} cls 目标对象 * @param {IPSModelObject[]} list 目标集合 * @param {*} data 需要查找的key * @return {*} */ getPSModel5(_relatedPSModelObject: IPSModelObject, cls: string, list: IPSModelObject[], data: string | IModel): IPSModelObject; /** * 测试复合目标对象 * * @protected * @param {string} _cls * @param {IPSModelObject} obj * @param {string} strTag * @return {*} {boolean} */ protected testPSModel(_cls: string, obj: IPSModelObject, strTag: string): boolean; /** * 获取模型标识 * * @protected * @param {string} cls * @param {(string | IModel)} objKey * @return {*} {string} */ protected getPSModelTag(cls: string, objKey: string | IModel): string; /** * * * @param {IModel} obj * @return {*} {IModel} */ getRealObjectNode(obj: IModel): IModel; /** * 查找子模型 * * @author chitanda * @date 2022-10-20 11:10:16 * @param {IPSModelObject} relatedPSModelObject * @param {string} cls * @param {IModel} obj * @param {string} strTag * @return {*} {IPSModelObject} */ getChildPSModelObject(relatedPSModelObject: IPSModelObject, cls: string, obj: IModel, strTag: string): IPSModelObject; /** * 获取指定类型父模型,如果本身模型符合接口返回自身 * * @param {IPSModelObject} relatedPSModelObject * @param {string} cls * @return {*} {IPSModelObject} */ getParentPSModelObject(relatedPSModelObject: IPSModelObject, cls: string): IPSModelObject; getParentPSModelObject(relatedPSModelObject: IPSModelObject, cls: string, tryMode?: boolean): IPSModelObject; protected getParentPSModelObject2(relatedPSModelObject: IPSModelObject, cls: string): IPSModelObject | null; getFirstPSModelFilePath(relatedPSModelObject: IPSModelObject): string | null; } //# sourceMappingURL=psmodel-service-impl-base-base.d.ts.map