auto commit
This commit is contained in:
51
Delphi/source/uYitIdHelper.pas
Normal file
51
Delphi/source/uYitIdHelper.pas
Normal file
@@ -0,0 +1,51 @@
|
||||
unit uYitIdHelper;
|
||||
|
||||
interface
|
||||
|
||||
uses System.SysUtils, uIIdGenerator, uIdGeneratorOptions;
|
||||
|
||||
type
|
||||
TYitIdHelper = class
|
||||
private
|
||||
IdGenInstance: IIdGenerator;
|
||||
public
|
||||
function GetIdGenInstance(): IIdGenerator;
|
||||
/// <summary>
|
||||
/// <20><><EFBFBD>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>ʱִ<CAB1><D6B4>һ<EFBFBD><D2BB>
|
||||
/// </summary>
|
||||
/// <param name="options"></param>
|
||||
procedure SetIdGenerator(options: TIdGeneratorOptions);
|
||||
/// <summary>
|
||||
/// <20><><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD>Id
|
||||
/// <20><><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SetIdGenerator <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
function NextId(): Int64;
|
||||
end;
|
||||
|
||||
implementation
|
||||
|
||||
uses
|
||||
uDefaultIdGenerator;
|
||||
|
||||
{ TYitIdHelper }
|
||||
|
||||
function TYitIdHelper.GetIdGenInstance: IIdGenerator;
|
||||
begin
|
||||
Result := IdGenInstance;
|
||||
end;
|
||||
|
||||
procedure TYitIdHelper.SetIdGenerator(options: TIdGeneratorOptions);
|
||||
begin
|
||||
IdGenInstance := TDefaultIdGenerator.Create(options);
|
||||
end;
|
||||
|
||||
function TYitIdHelper.NextId(): Int64;
|
||||
begin
|
||||
if (IdGenInstance = nil) then
|
||||
raise Exception.Create('Please initialize Yitter.IdGeneratorOptions first.');
|
||||
|
||||
Result := IdGenInstance.NewLong();
|
||||
end;
|
||||
|
||||
end.
|
||||
Reference in New Issue
Block a user