Skip to content
14 changes: 13 additions & 1 deletion Source/Core/WiRL.Configuration.Neon.pas
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ interface
function SetIgnoreFieldPrefix(AValue: Boolean): IWiRLConfigurationNeon;
function SetUseUTCDate(AValue: Boolean): IWiRLConfigurationNeon;
function SetPrettyPrint(AValue: Boolean): IWiRLConfigurationNeon;
function SetRaiseExceptions(AValue: Boolean): IWiRLConfigurationNeon;
function AddSerializer(ASerializerClass: TCustomSerializerClass): IWiRLConfigurationNeon;
function RemoveSerializer(ASerializerClass: TCustomSerializerClass): IWiRLConfigurationNeon;
end;
Expand All @@ -39,6 +40,7 @@ TWiRLConfigurationNeon = class(TWiRLConfiguration, IWiRLConfigurationNeon)
private
FNeonConfiguration: INeonConfiguration;
FPrettyPrint: Boolean;
FRaiseExceptions: Boolean;
FIgnoreFieldPrefix: Boolean;
FMemberCustomCase: TCaseFunc;
FUseUTCDate: Boolean;
Expand All @@ -63,6 +65,7 @@ TWiRLConfigurationNeon = class(TWiRLConfiguration, IWiRLConfigurationNeon)
function SetIgnoreFieldPrefix(AValue: Boolean): IWiRLConfigurationNeon;
function SetUseUTCDate(AValue: Boolean): IWiRLConfigurationNeon;
function SetPrettyPrint(AValue: Boolean): IWiRLConfigurationNeon;
function SetRaiseExceptions(AValue: Boolean): IWiRLConfigurationNeon;

function AddSerializer(ASerializerClass: TCustomSerializerClass): IWiRLConfigurationNeon;
function RemoveSerializer(ASerializerClass: TCustomSerializerClass): IWiRLConfigurationNeon;
Expand All @@ -78,6 +81,7 @@ TWiRLConfigurationNeon = class(TWiRLConfiguration, IWiRLConfigurationNeon)
property Visibility: TNeonVisibility read FVisibility write FVisibility;
property IgnoreFieldPrefix: Boolean read FIgnoreFieldPrefix write FIgnoreFieldPrefix;
property UseUTCDate: Boolean read FUseUTCDate write FUseUTCDate;
property RaiseExceptions: Boolean read FRaiseExceptions write FRaiseExceptions;
public
property Serializers: TNeonSerializerRegistry read FSerializers write FSerializers;
end;
Expand All @@ -101,7 +105,7 @@ constructor TWiRLConfigurationNeon.Create;
SetVisibility([mvPublic, mvPublished]);
SetUseUTCDate(True);
SetPrettyPrint(False);

SetRaiseExceptions(False);
end;

class function TWiRLConfigurationNeon.Default: IWiRLConfigurationNeon;
Expand Down Expand Up @@ -177,6 +181,7 @@ function TWiRLConfigurationNeon.GetNewNeonConfig: INeonConfiguration;
.SetIgnoreFieldPrefix(FIgnoreFieldPrefix)
.SetUseUTCDate(FUseUTCDate)
.SetPrettyPrint(FPrettyPrint)
.SetRaiseExceptions(FRaiseExceptions)
.GetSerializers
.RegisterSerializer(TJSONValueSerializer)
.RegisterSerializer(TGUIDSerializer)
Expand Down Expand Up @@ -232,6 +237,13 @@ function TWiRLConfigurationNeon.SetPrettyPrint(AValue: Boolean): IWiRLConfigurat
Result := Self;
end;

function TWiRLConfigurationNeon.SetRaiseExceptions(
AValue: Boolean): IWiRLConfigurationNeon;
begin
FRaiseExceptions := AValue;
Result := Self;
end;

function TWiRLConfigurationNeon.SetUseUTCDate(AValue: Boolean): IWiRLConfigurationNeon;
begin
FUseUTCDate := AValue;
Expand Down