@@ -144,8 +144,10 @@ TFHIRTxOperationParams = class (TFslObject)
144144 public
145145 constructor Create(Languages : TIETFLanguageDefinitions);
146146 destructor Destroy; override;
147- function link : TFHIRTxOperationParams;
147+ function link : TFHIRTxOperationParams; overload;
148148
149+ function clone : TFHIRTxOperationParams; overload;
150+ procedure assign (other : TFslObject); override;
149151 class function defaultProfile (langDefs : TIETFLanguageDefinitions) : TFHIRTxOperationParams;
150152
151153 procedure seeParameter (name : String; value : TFHIRObject; isValidation, overwrite : boolean);
@@ -992,6 +994,78 @@ function TFHIRTxOperationParams.link: TFHIRTxOperationParams;
992994 result := TFHIRTxOperationParams(inherited Link);
993995end ;
994996
997+ function TFHIRTxOperationParams.clone : TFHIRTxOperationParams;
998+ begin
999+ result := TFHIRTxOperationParams(inherited clone);
1000+
1001+ end ;
1002+
1003+ procedure TFHIRTxOperationParams.assign (other: TFslObject);
1004+ var
1005+ o : TFHIRTxOperationParams;
1006+ begin
1007+ inherited assign(other);
1008+ o := other as TFHIRTxOperationParams;
1009+ FLanguages := o.FLanguages.link;
1010+ FVersionRules.addAll(o.FVersionRules);
1011+ if (o.FValueSetVersionRules <> nil ) then
1012+ begin
1013+ FValueSetVersionRules := TStringList.create;
1014+ FValueSetVersionRules.AddStrings(o.FValueSetVersionRules);
1015+ end ;
1016+ FactiveOnly := o.FactiveOnly;
1017+ FexcludeNested := o.FexcludeNested;
1018+ FGenerateNarrative := o.FGenerateNarrative;
1019+ FlimitedExpansion := o.FlimitedExpansion;
1020+ FexcludeNotForUI := o.FexcludeNotForUI;
1021+ FexcludePostCoordinated := o.FexcludePostCoordinated;
1022+ FincludeDesignations := o.FincludeDesignations;
1023+ FincludeDefinition := o.FincludeDefinition;
1024+ FUid := o.FUid;
1025+ FMembershipOnly := o.FMembershipOnly;
1026+ FDefaultToLatestVersion := o.FDefaultToLatestVersion;
1027+ FIncompleteOK := o.FIncompleteOK;
1028+ FDisplayWarning := o.FDisplayWarning;
1029+ FDiagnostics := o.FDiagnostics;
1030+ FHasactiveOnly := o.FHasactiveOnly;
1031+ FHasExcludeNested := o.FHasExcludeNested;
1032+ FHasGenerateNarrative := o.FHasGenerateNarrative;
1033+ FHasLimitedExpansion := o.FHasLimitedExpansion;
1034+
1035+ FHesExcludeNotForUI := o.FHesExcludeNotForUI;
1036+ FHasExcludePostCoordinated := o.FHasExcludePostCoordinated;
1037+ FHasIncludeDesignations := o.FHasIncludeDesignations;
1038+ FHasIncludeDefinition := o.FHasIncludeDefinition;
1039+ FHasDefaultToLatestVersion := o.FHasDefaultToLatestVersion;
1040+ FHasIncompleteOK := o.FHasIncompleteOK;
1041+ FHasexcludeNotForUI := o.FHasIncompleteOK;
1042+ FHasMembershipOnly := o.FHasMembershipOnly;
1043+ FHasDisplayWarning := o.FHasDisplayWarning;
1044+ if (o.FAltCodeRules <> nil ) then
1045+ begin
1046+ FAltCodeRules := TAlternateCodeOptions.create;
1047+ FAltCodeRules.all := o.FAltCodeRules.all ;
1048+ FAltCodeRules.useTypes.AddStrings(o.FAltCodeRules.useTypes);
1049+ end ;
1050+
1051+ if (o.FProperties <> nil ) then
1052+ begin
1053+ FProperties := TStringList.create;
1054+ FProperties.AddStrings(o.FProperties);
1055+ end ;
1056+
1057+ if (o.FDesignations <> nil ) then
1058+ begin
1059+ FDesignations := TStringList.create;
1060+ FDesignations.AddStrings(o.FDesignations);
1061+ end ;
1062+
1063+ if o.FHTTPLanguages <> nil then
1064+ FHTTPLanguages := o.FHTTPLanguages.clone;
1065+ if o.FDisplayLanguages <> nil then
1066+ FDisplayLanguages := o.FHTTPLanguages.clone;
1067+ end ;
1068+
9951069
9961070{ TFhirExpansionParamsVersionRule }
9971071
0 commit comments