📄 s2.model.ts2systemobject.pas
字号:
unit S2.Model.TS2SystemObject;
interface
uses
Classes,
S2.Core.IS2SystemObject, S2.Model.TS2PersistModel, S2.Model.IS2DatabaseManager, S2.Error.IS2ExceptionWrapper,
S2.Model.IS2MetaDataManager, S2.Core.IS2ObjectCache, S2.Model.IS2ModelFactory, S2.Core.IS2User,
S2.Model.TS2ServerDataModelFactory, S2.Core.TS2User;
type
TS2SystemObject = class(TS2PersistModel, IS2SystemObject)
private
ServerDataModelFactory: TS2ServerDataModelFactory;
User: TS2User;
public
function GetAppName: string; virtual; // abstract
function GetDatabaseManager: TDataModule; virtual; // abstract
function GetExceptionWrapper: IS2ExceptionWrapper; virtual; // abstract
function GetMetaDataManager: IS2MetaDataManager; virtual; // abstract
function GetObjectCache: IS2ObjectCache; virtual; // abstract
function GetServerDataModelFactory: TObject; virtual; // abstract
function GetUser: IS2User; virtual; // abstract
public
constructor Create(Owner: TComponent; User: TS2User);
destructor Destroy; override;
end;
var
_SystemObject: TS2SystemObject;
procedure SetGlobalSystemObject(SystemObject: TS2SystemObject);
function GetGlobalSystemObject: TS2SystemObject;
implementation
uses
SysUtils, S2.Error.S2AbstractException;
{$R *.dfm}
procedure SetGlobalSystemObject(SystemObject: TS2SystemObject);
begin
_SystemObject := SystemObject;
end;
function GetGlobalSystemObject: TS2SystemObject;
begin
Result := _SystemObject;
end;
{ TS2SystemObject }
constructor TS2SystemObject.Create(Owner: TComponent; User: TS2User);
begin
inherited Create(Owner);
ServerDataModelFactory := TS2ServerDataModelFactory.Create(Self);
Self.User := User;
end;
destructor TS2SystemObject.Destroy;
begin
FreeAndNil(ServerDataModelFactory);
inherited;
end;
function TS2SystemObject.GetAppName: string;
begin
raise S2AbstractException.Create(ClassName, 'GetAppName');
end;
function TS2SystemObject.GetDatabaseManager: TDataModule;
begin
raise S2AbstractException.Create(ClassName, 'GetDatabaseManager');
end;
function TS2SystemObject.GetExceptionWrapper: IS2ExceptionWrapper;
begin
raise S2AbstractException.Create(ClassName, 'GetExceptionWrapper');
end;
function TS2SystemObject.GetMetaDataManager: IS2MetaDataManager;
begin
raise S2AbstractException.Create(ClassName, 'GetMetaDataManager');
end;
function TS2SystemObject.GetObjectCache: IS2ObjectCache;
begin
raise S2AbstractException.Create(ClassName, 'GetObjectCache');
end;
function TS2SystemObject.GetServerDataModelFactory: TObject;
begin
Result := ServerDataModelFactory;
end;
function TS2SystemObject.GetUser: IS2User;
begin
raise S2AbstractException.Create(ClassName, 'GetUser');
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -