Przeglądaj źródła

[yamlSerializer] added SerializationLevel property

Exilon 5 lat temu
rodzic
commit
efbc8208da
1 zmienionych plików z 8 dodań i 1 usunięć
  1. 8 1
      Quick.YAML.Serializer.pas

+ 8 - 1
Quick.YAML.Serializer.pas

@@ -151,10 +151,11 @@ type
   private
   private
     procedure SetUseEnumNames(const Value: Boolean);
     procedure SetUseEnumNames(const Value: Boolean);
     procedure SetUseYamlCaseSense(const Value: Boolean);
     procedure SetUseYamlCaseSense(const Value: Boolean);
+    procedure SetSerializeLevel(const Value: TSerializeLevel);
   public
   public
     constructor Create(aSerializeLevel: TSerializeLevel; aUseEnumNames : Boolean = True);
     constructor Create(aSerializeLevel: TSerializeLevel; aUseEnumNames : Boolean = True);
     destructor Destroy; override;
     destructor Destroy; override;
-    property SerializeLevel : TSerializeLevel read fSerializeLevel;
+    property SerializeLevel : TSerializeLevel read fSerializeLevel write SetSerializeLevel;
     property UseEnumNames : Boolean read fUseEnumNames write SetUseEnumNames;
     property UseEnumNames : Boolean read fUseEnumNames write SetUseEnumNames;
     property UseYamlCaseSense : Boolean read fUseYamlCaseSense write SetUseYamlCaseSense;
     property UseYamlCaseSense : Boolean read fUseYamlCaseSense write SetUseYamlCaseSense;
     function YamlToObject(aType : TClass; const aYaml: string) : TObject; overload;
     function YamlToObject(aType : TClass; const aYaml: string) : TObject; overload;
@@ -1542,6 +1543,12 @@ begin
   end;
   end;
 end;
 end;
 
 
+procedure TYamlSerializer.SetSerializeLevel(const Value: TSerializeLevel);
+begin
+  fSerializeLevel := Value;
+  if Assigned(fRTTIYaml) then fRTTIYaml.fSerializeLevel := Value;
+end;
+
 procedure TYamlSerializer.SetUseEnumNames(const Value: Boolean);
 procedure TYamlSerializer.SetUseEnumNames(const Value: Boolean);
 begin
 begin
   fUseEnumNames := Value;
   fUseEnumNames := Value;