Index: EXT/Optima/String.cls.xml =================================================================== diff -u -r31997 -r32001 --- EXT/Optima/String.cls.xml (.../String.cls.xml) (revision 31997) +++ EXT/Optima/String.cls.xml (.../String.cls.xml) (revision 32001) @@ -2,7 +2,6 @@ datatype -0 %String,EXT.Optima.Parameters @@ -14,47 +13,8 @@ 0 dirty copy paste :P - - #; Validate MAXLEN parameter - either NULL, "", or a positive integer - If ($Get(%parameter("MAXLEN")) '= "") && (('$isvalidnum(%parameter("MAXLEN"),,1)) || (((+%parameter("MAXLEN")\1)) '= +%parameter("MAXLEN"))) { Quit $$$ERROR($$$DatatypeParameterIntegerNotPositive,%class_"::"_%property,"MAXLEN",%parameter("MAXLEN")) } - #; If subclass has a IsValidDT then call this - If %property'="",$$$comSubMemberDefined(%class,$$$cCLASSproperty,%property,$$$cPROPmethod,"IsValidDT"),$$$comSubMemberKeyGet(%class,$$$cCLASSproperty,%property,$$$cPROPmethod,"IsValidDT",$$$cXXXXorigin)'="%Library.DataType" { - Set %codemode=$$$cMETHCODEMODEEXPRESSION - Set %code="$select(##class("_%class_")."_%property_"IsValidDT(%val):1,1:$$$ERROR($$$DTFailure,%val))" - Quit $$$OK - } - n err,flag,sep,str - s %code=0 - s %codemode=$$$cMETHCODEMODEEXPRESSION - i %parameter("VALUELIST")'="" d QUIT $$$OK - . s sep=$e(%parameter("VALUELIST")) ;for now - . s %code="$select(%val'["""_sep_"""&&("_$$$quote(%parameter("VALUELIST")_sep)_"[("""_sep_"""_%val_"""_sep_""")):$$$OK,1:$$$ERROR($$$DTValueList,%val,"_$$$quote(%parameter("VALUELIST"))_"))" - s str="",err="" - If %parameter("MINLEN")'="" { - Set str=str_"($s(%val'=$c(0):$length(%val),1:0)'<"_(+%parameter("MINLEN"))_")" - If %parameter("PATTERN")="",%parameter("MAXLEN")=""||(%parameter("TRUNCATE")) { - Set err="1" - } Else { - Set err="$s(%val'=$c(0):$length(%val),1:0)<"_(+%parameter("MINLEN")) - } - Set err=err_":$$$ERROR($$$DTMinLen,%val,"_(+%parameter("MINLEN"))_")" - } - If '%parameter("TRUNCATE"),%parameter("MAXLEN")'="" { - Set str=str_"&&($length(%val)'>"_(+%parameter("MAXLEN"))_")" - If %parameter("PATTERN")="" { - Set err=err_$select(err="":"",1:",")_"1" - } Else { - Set err=err_$select(err="":"",1:",")_"$length(%val)>"_(+%parameter("MAXLEN")) - } - Set err=err_":$$$ERROR($$$DTMaxLen,%val,"_(+%parameter("MAXLEN"))_")" - } - If %parameter("PATTERN")'="" Set str=str_"&&(%val?"_%parameter("PATTERN")_")",err=err_$select(err="":"",1:",")_"1:$$$ERROR($$$DTPattern,%val,"_$$$quote(%parameter("PATTERN"))_")" - i str="" s %code=1 QUIT $$$OK - i $e(str,1,2)="&&" s str=$e(str,3,*) - s %code="$select("_str_":1,"_err_")" - QUIT $$$OK + $$$GENERATE($$$TAB_"quit 1") + quit $$$OK ]]>