delphimvcframework/sources/MVCFramework.Serializer.Intf.pas
2017-02-09 11:24:24 +01:00

34 lines
1.1 KiB
ObjectPascal

unit MVCFramework.Serializer.Intf;
interface
uses
Data.DB, MVCFramework.DuckTyping;
const
DMVC_CLASSNAME = '$dmvc_classname';
type
TMVCSerializationType = (Properties, Fields);
IMVCSerUnSerListener = interface
['{5976F9DA-1B89-4F8C-B333-C3612071DEE0}']
procedure BeforeSerialize(const AObject: TObject);
procedure AfterDeserialize(const AObject: TObject);
end;
IMVCSerUnSer = interface
['{1ECA942A-E3C4-45DD-9D23-C00363B5E334}']
function SerializeObject(AObject: TObject; AIgnoredProperties: array of string): String;
function SerializeObjectStrict(AObject: TObject): String;
function SerializeDataSet(ADataSet: TDataSet; AIgnoredFields: array of string): String;
function SerializeCollection(AList: TObject; AIgnoredProperties: array of string): String;
function SerializeCollectionStrict(AList: TObject): String;
procedure DeserializeObject(ASerializedObject: String; AObject: TObject);
procedure DeserializeCollection(ASerializedObjectList: string; AList: IMVCList; AClazz: TClass);
end;
implementation
end.