=== modified file 'oo4gl/OpenEdge/Core/Collections/List.cls'
--- old/oo4gl/OpenEdge/Core/Collections/List.cls	2020-07-29 11:20:46 +0000
+++ new/oo4gl/OpenEdge/Core/Collections/List.cls	2023-05-03 11:41:13 +0000
@@ -2,7 +2,7 @@
 	inherits OpenEdge.Core.Collections.AbstractTTCollection
 	implements OpenEdge.Core.Collections.IList, 
 		OpenEdge.Core.Collections.ICollection, 
-		OpenEdge.Core.Collections.IIterable:
+		OpenEdge.Core.Collections.IIterable serializable:
 
 	constructor public List ():
 	end.
@@ -10,29 +10,21 @@
 	constructor public List ( list as OpenEdge.Core.Collections.IList):
 	end.
 
-	constructor protected List ( poCol as OpenEdge.Core.Collections.ICollection, phtt as handle, pcField as character):
-	end.
-
 	constructor protected List ( phtt as handle, pcField as character):
 	end.
 
 	constructor protected List ( phtt as handle, hField as handle):
 	end.
 
-	method protected override void FindBufferUseObject ( findObject as Progress.Lang.Object):
+	constructor protected List ( poCol as OpenEdge.Core.Collections.ICollection, phtt as handle, pcField as character):
 	end.
 
-	/* BUFFER PARAMETER *
-	method protected void FindBufferUseObject ( findObject as Progress.Lang.Object,  pbList as buffer):
+	method public override logical Add ( obj as Progress.Lang.Object):
 	end.
-	*/
 
 	method public logical Add ( seq as integer, obj as Progress.Lang.Object):
 	end.
 
-	method public override logical Add ( obj as Progress.Lang.Object):
-	end.
-
 	method public override logical AddAll ( c as OpenEdge.Core.Collections.ICollection):
 	end.
 
@@ -45,6 +37,14 @@
 	method public override logical Equals ( o as Progress.Lang.Object):
 	end.
 
+	method protected override void FindBufferUseObject ( findObject as Progress.Lang.Object):
+	end.
+
+	/* BUFFER PARAMETER *
+	method protected void FindBufferUseObject ( findObject as Progress.Lang.Object,  pbList as buffer):
+	end.
+	*/
+
 	method public Progress.Lang.Object Get ( i as integer):
 	end.
 
@@ -54,15 +54,15 @@
 	method public override OpenEdge.Core.Collections.IIterator Iterator ():
 	end.
 
+	method public integer LastIndexOf ( obj as Progress.Lang.Object):
+	end.
+
 	method public OpenEdge.Core.Collections.IListIterator ListIterator ():
 	end.
 
 	method public OpenEdge.Core.Collections.IListIterator ListIterator ( i as integer):
 	end.
 
-	method public integer LastIndexOf ( obj as Progress.Lang.Object):
-	end.
-
 	method public override logical Remove ( oldObject as Progress.Lang.Object):
 	end.
 

=== modified file 'oo4gl/OpenEdge/Core/Collections/StringCollection.cls'
--- old/oo4gl/OpenEdge/Core/Collections/StringCollection.cls	2020-07-29 11:20:46 +0000
+++ new/oo4gl/OpenEdge/Core/Collections/StringCollection.cls	2023-05-03 11:41:13 +0000
@@ -13,13 +13,28 @@
 	method public logical Add ( newObject as OpenEdge.Core.String):
 	end.
 
+	method public logical Add ( pcElement as longchar):
+	end.
+
+	method public logical AddAll ( poCollection as OpenEdge.Core.Collections.IStringCollection):
+	end.
+
 	method public logical AddArray ( poArray as OpenEdge.Core.String extent ):
 	end.
 
+	method public logical AddArray ( pcElements as longchar extent ):
+	end.
+
+	method public logical Contains ( checkObject as OpenEdge.Core.String):
+	end.
+
+	method public logical Contains ( pcElement as longchar):
+	end.
+
 	method public logical Remove ( oldObject as OpenEdge.Core.String):
 	end.
 
-	method public logical AddAll ( poCollection as OpenEdge.Core.Collections.IStringCollection):
+	method public logical Remove ( pcElement as longchar):
 	end.
 
 	method public logical RemoveAll ( poCollection as OpenEdge.Core.Collections.IStringCollection):
@@ -28,22 +43,7 @@
 	method public logical RetainAll ( poCollection as OpenEdge.Core.Collections.IStringCollection):
 	end.
 
-	method public logical Contains ( checkObject as OpenEdge.Core.String):
-	end.
-
 	method public OpenEdge.Core.String extent ToStringArray ():
 	end.
 
-	method public logical Add ( pcElement as longchar):
-	end.
-
-	method public logical AddArray ( pcElements as longchar extent ):
-	end.
-
-	method public logical Contains ( pcElement as longchar):
-	end.
-
-	method public logical Remove ( pcElement as longchar):
-	end.
-
 end.

=== modified file 'oo4gl/OpenEdge/Core/Memptr.cls'
--- old/oo4gl/OpenEdge/Core/Memptr.cls	2020-07-29 11:20:46 +0000
+++ new/oo4gl/OpenEdge/Core/Memptr.cls	2023-05-03 11:38:30 +0000
@@ -5,9 +5,6 @@
 	constructor protected Memptr ():
 	end.
 
-	constructor public Memptr ( piPtr as int64, piSize as int64):
-	end.
-
 	constructor public Memptr ( piSize as int64):
 	end.
 
@@ -17,37 +14,46 @@
 	constructor public Memptr ( prValue as raw):
 	end.
 
+	constructor public Memptr ( piPtr as int64, piSize as int64):
+	end.
+
 	define public property AutoDestroy as logical no-undo
 		public get.
 		public set.
 
+	define public static property Empty as OpenEdge.Core.Memptr no-undo
+		public get.
+
 	define public property ExternalAllocation as logical no-undo
 		public get.
 		private set.
 
+	define public property Size as int64 no-undo
+		public get.
+		public set.
+
 	define public property Value as memptr no-undo
 		public get.
 
-	define public property Size as int64 no-undo
-		public get.
-		public set.
-
-	define public static property Empty as OpenEdge.Core.Memptr no-undo
-		public get.
-
-	method public int64 GetPointerValue ():
-	end.
-
 	method public void Clear ():
 	end.
 
+	method public integer GetByte ( piPos as int64):
+	end.
+
+	method public OpenEdge.Core.Memptr GetBytes ( piStartPos as int64):
+	end.
+
+	method public OpenEdge.Core.Memptr GetBytes ( piStartPos as int64, piSliceSize as int64):
+	end.
+
 	method public raw GetHash ():
 	end.
 
 	method public raw GetHash ( poAlgorithm as OpenEdge.Core.HashAlgorithmEnum):
 	end.
 
-	method public integer GetByte ( piPos as int64):
+	method public int64 GetPointerValue ():
 	end.
 
 	method public longchar GetString ( piStartPos as int64):
@@ -62,25 +68,19 @@
 	method public longchar GetString ( piStartPos as int64, piSliceSize as int64, pcSourceCodepage as character, pcTargetCodepage as character):
 	end.
 
-	method public OpenEdge.Core.Memptr GetBytes ( piStartPos as int64):
-	end.
-
-	method public OpenEdge.Core.Memptr GetBytes ( piStartPos as int64, piSliceSize as int64):
-	end.
-
-	method public void PutBytes ( piPointerValue as int64, piSize as int64):
-	end.
-
 	method public void PutBytes ( pmData as memptr):
 	end.
 
 	method public void PutBytes ( prData as raw):
 	end.
 
+	method public void PutBytes ( piPointerValue as int64, piSize as int64):
+	end.
+
+	method public override character ToString ():
+	end.
+
 	method public void _Debug ():
 	end.
 
-	method public override character ToString ():
-	end.
-
 end.

=== modified file 'oo4gl/OpenEdge/Core/String.cls'
--- old/oo4gl/OpenEdge/Core/String.cls	2020-07-29 11:20:46 +0000
+++ new/oo4gl/OpenEdge/Core/String.cls	2023-05-03 11:39:39 +0000
@@ -1,7 +1,7 @@
 class OpenEdge.Core.String
 	implements Ccs.Common.Support.ILongcharHolder, 
 		OpenEdge.Core.ISupportEncoding, 
-		Ccs.Common.Support.IPrimitiveHolder:
+		Ccs.Common.Support.IPrimitiveHolder serializable:
 
 	constructor public String ():
 	end.
@@ -16,16 +16,16 @@
 		public get.
 		public set.
 
+	define public property Size as int64 no-undo
+		public get.
+
 	define public property Value as longchar no-undo
 		public get.
 
-	define public property Size as int64 no-undo
-		public get.
-
-	method public void Trim ():
+	method public void Append ( pcValue as longchar):
 	end.
 
-	method public void Trim ( pCharacter as character):
+	method public void Append ( poValue as OpenEdge.Core.String):
 	end.
 
 	method public static OpenEdge.Core.String Empty ():
@@ -34,58 +34,58 @@
 	method public override logical Equals ( p0 as Progress.Lang.Object):
 	end.
 
+	method public logical IsNullOrEmpty ():
+	end.
+
+	method public static logical IsNullOrEmpty ( pcValue as longchar):
+	end.
+
+	method public static logical IsQuoted ( pcValue as longchar):
+	end.
+
+	method public static logical IsQuoted ( pcValue as longchar, pcQuote as character):
+	end.
+
+	method public static OpenEdge.Core.String Join ( poValue as OpenEdge.Core.Collections.Array, pcDelimiter as character):
+	end.
+
+	method public static OpenEdge.Core.String Join ( poValue as OpenEdge.Core.String extent , pcDelimiter as character):
+	end.
+
+	method public static longchar Join ( pcValue as character extent , pcDelimiter as character):
+	end.
+
+	method public void Prepend ( pcValue as longchar):
+	end.
+
+	method public void Prepend ( poValue as OpenEdge.Core.String):
+	end.
+
+	method public OpenEdge.Core.Collections.Array Split ():
+	end.
+
 	method public OpenEdge.Core.Collections.Array Split ( pcDelimiter as character):
 	end.
 
-	method public OpenEdge.Core.Collections.Array Split ():
-	end.
-
 	method public static OpenEdge.Core.Collections.Array Split ( poValue as OpenEdge.Core.String):
 	end.
 
+	method public static character extent Split ( pcValue as longchar):
+	end.
+
 	method public static OpenEdge.Core.Collections.Array Split ( poValue as OpenEdge.Core.String, pcDelimiter as character):
 	end.
 
-	method public static character extent Split ( pcValue as longchar):
-	end.
-
 	method public static character extent Split ( pcValue as longchar, pcDelimiter as character):
 	end.
 
-	method public static OpenEdge.Core.String Join ( poValue as OpenEdge.Core.Collections.Array, pcDelimiter as character):
-	end.
-
-	method public static OpenEdge.Core.String Join ( poValue as OpenEdge.Core.String extent , pcDelimiter as character):
-	end.
-
-	method public static longchar Join ( pcValue as character extent , pcDelimiter as character):
-	end.
-
 	method public override character ToString ():
 	end.
 
-	method public void Append ( pcValue as longchar):
-	end.
-
-	method public void Append ( poValue as OpenEdge.Core.String):
-	end.
-
-	method public void Prepend ( pcValue as longchar):
-	end.
-
-	method public void Prepend ( poValue as OpenEdge.Core.String):
-	end.
-
-	method public static logical IsQuoted ( pcValue as longchar):
-	end.
-
-	method public static logical IsQuoted ( pcValue as longchar, pcQuote as character):
-	end.
-
-	method public logical IsNullOrEmpty ():
-	end.
-
-	method public static logical IsNullOrEmpty ( pcValue as longchar):
+	method public void Trim ():
+	end.
+
+	method public void Trim ( pCharacter as character):
 	end.
 
 end.

=== modified file 'oo4gl/OpenEdge/Core/TimeStamp.cls'
--- old/oo4gl/OpenEdge/Core/TimeStamp.cls	2020-07-29 11:20:46 +0000
+++ new/oo4gl/OpenEdge/Core/TimeStamp.cls	2023-05-03 11:40:13 +0000
@@ -1,4 +1,7 @@
-class OpenEdge.Core.TimeStamp:
+class OpenEdge.Core.TimeStamp serializable:
+
+	constructor public TimeStamp ():
+	end.
 
 	constructor public TimeStamp ( ptTimeStamp as date):
 	end.
@@ -12,9 +15,6 @@
 	constructor public TimeStamp ( pcTimeStamp as character):
 	end.
 
-	constructor public TimeStamp ():
-	end.
-
 	define public property Format as character no-undo
 		public get.
 		private set.
@@ -22,6 +22,33 @@
 	method public override logical Equals ( p0 as Progress.Lang.Object):
 	end.
 
+	method public static date ToABLDateFromISO ( pcValue as character):
+	end.
+
+	method public static datetime ToABLDateTimeFromISO ( pcValue as character):
+	end.
+
+	method public static datetime-tz ToABLDateTimeTzFromHttp ( pcValue as character):
+	end.
+
+	method public static datetime-tz ToABLDateTimeTzFromISO ( pcValue as character):
+	end.
+
+	method public date ToDate ():
+	end.
+
+	method public datetime ToDateTime ():
+	end.
+
+	method public datetime-tz ToDateTimeTz ():
+	end.
+
+	method public character ToHttpDate ():
+	end.
+
+	method public static character ToHttpDateFromABL ( ptValue as datetime-tz):
+	end.
+
 	method public character ToISODate ():
 	end.
 
@@ -34,33 +61,6 @@
 	method public static character ToISODateFromABL ( ptValue as datetime-tz):
 	end.
 
-	method public static date ToABLDateFromISO ( pcValue as character):
-	end.
-
-	method public static datetime ToABLDateTimeFromISO ( pcValue as character):
-	end.
-
-	method public static datetime-tz ToABLDateTimeTzFromISO ( pcValue as character):
-	end.
-
-	method public static datetime-tz ToABLDateTimeTzFromHttp ( pcValue as character):
-	end.
-
-	method public static character ToHttpDateFromABL ( ptValue as datetime-tz):
-	end.
-
-	method public character ToHttpDate ():
-	end.
-
-	method public datetime-tz ToDateTimeTz ():
-	end.
-
-	method public datetime ToDateTime ():
-	end.
-
-	method public date ToDate ():
-	end.
-
 	method public integer ToTime ():
 	end.
 

=== modified file 'oo4gl/OpenEdge/Net/HTTP/Credentials.cls'
--- old/oo4gl/OpenEdge/Net/HTTP/Credentials.cls	2020-07-29 11:20:46 +0000
+++ new/oo4gl/OpenEdge/Net/HTTP/Credentials.cls	2023-05-03 11:42:01 +0000
@@ -10,12 +10,12 @@
 		public get.
 		public set.
 
+	define public property Password as character no-undo
+		public get.
+		public set.
+
 	define public property UserName as character no-undo
 		public get.
 		public set.
 
-	define public property Password as character no-undo
-		public get.
-		public set.
-
 end.

=== modified file 'oo4gl/OpenEdge/Net/ServerConnection/ClientSocket.cls'
--- old/oo4gl/OpenEdge/Net/ServerConnection/ClientSocket.cls	2020-07-29 11:20:46 +0000
+++ new/oo4gl/OpenEdge/Net/ServerConnection/ClientSocket.cls	2023-05-03 11:42:24 +0000
@@ -2,11 +2,30 @@
 	implements OpenEdge.Core.ServerConnection.IServerConnection, 
 		OpenEdge.Logging.ISupportLogging:
 
+	constructor public ClientSocket ():
+	end.
+
 	constructor public ClientSocket ( poConnectionParameters as OpenEdge.Net.ServerConnection.ClientSocketConnectionParameters):
 	end.
 
-	constructor public ClientSocket ():
-	end.
+	define public property Connected as logical no-undo
+		public get.
+
+	define public property ConnectionParameters as OpenEdge.Core.ServerConnection.IConnectionParameters no-undo
+		public get.
+		private set.
+
+	define public property DefaultReadTimeout as integer no-undo
+		public get.
+		public set.
+
+	define public property KeepAlive as logical no-undo
+		public get.
+		public set.
+
+	define public property LingerTime as integer no-undo
+		public get.
+		public set.
 
 	define public property LocalHost as character no-undo
 		public get.
@@ -16,6 +35,26 @@
 		public get.
 		private set.
 
+	define public property Logger as OpenEdge.Logging.ILogWriter no-undo
+		public get.
+		public set.
+
+	define public property NoDelay as logical no-undo
+		public get.
+		public set.
+
+	define public property ReadBufferSize as integer no-undo
+		public get.
+		public set.
+
+	define public property ReceiveBufferSize as integer no-undo
+		public get.
+		public set.
+
+	define public property ReceiveTimeout as integer no-undo
+		public get.
+		public set.
+
 	define public property RemoteHost as character no-undo
 		public get.
 		private set.
@@ -24,60 +63,24 @@
 		public get.
 		private set.
 
-	define public property SslServerName as character no-undo
-		public get.
-		private set.
-
-	define public property Logger as OpenEdge.Logging.ILogWriter no-undo
-		public get.
-		public set.
-
-	define public property Server as Progress.Lang.Object no-undo
-		public get.
-		private set.
-
-	define public property ConnectionParameters as OpenEdge.Core.ServerConnection.IConnectionParameters no-undo
-		public get.
-		private set.
-
-	define public property ReadBufferSize as integer no-undo
-		public get.
-		public set.
-
-	define public property DefaultReadTimeout as integer no-undo
-		public get.
-		public set.
-
-	define public property KeepAlive as logical no-undo
-		public get.
-		public set.
-
-	define public property NoDelay as logical no-undo
-		public get.
-		public set.
-
 	define public property ReuseAddress as logical no-undo
 		public get.
 		public set.
 
-	define public property ReceiveBufferSize as integer no-undo
-		public get.
-		public set.
-
 	define public property SendBufferSize as integer no-undo
 		public get.
 		public set.
 
-	define public property ReceiveTimeout as integer no-undo
-		public get.
-		public set.
-
-	define public property LingerTime as integer no-undo
-		public get.
-		public set.
-
-	define public property Connected as logical no-undo
-		public get.
+	define public property Server as Progress.Lang.Object no-undo
+		public get.
+		private set.
+
+	define public property SslServerName as character no-undo
+		public get.
+		private set.
+
+	method public void Connect ():
+	end.
 
 	method public void Connect ( poURI as OpenEdge.Net.URI):
 	end.
@@ -85,18 +88,33 @@
 	method public void Connect ( poParams as OpenEdge.Net.ServerConnection.ClientSocketConnectionParameters):
 	end.
 
-	method public void Connect ():
-	end.
-
-	method public void Disconnect ():
-	end.
-
 	method public void CreateServer ():
 	end.
 
 	method public void DestroyServer ():
 	end.
 
+	method public void Disconnect ():
+	end.
+
+	method protected logical IsConnected ():
+	end.
+
+	method protected void OnDataReceived ( poEventArgs as OpenEdge.Net.ServerConnection.SocketReadEventArgs):
+	end.
+
+	method protected void OnReadTerminated ( poEventArgs as OpenEdge.Net.ServerConnection.SocketReadEventArgs):
+	end.
+
+	method protected void OnReadTimeout ( poEventArgs as OpenEdge.Net.ServerConnection.SocketReadEventArgs):
+	end.
+
+	method public void ReadResponseHandler ():
+	end.
+
+	method public void StartTls ( pCertificatSubjectName as character):
+	end.
+
 	method public void WaitForResponse ():
 	end.
 
@@ -106,31 +124,13 @@
 	method public void WaitForResponseAsync ( pdTimeout as decimal):
 	end.
 
-	method public void ReadResponseHandler ():
-	end.
-
-	method protected void OnDataReceived ( poEventArgs as OpenEdge.Net.ServerConnection.SocketReadEventArgs):
-	end.
-
-	method protected void OnReadTerminated ( poEventArgs as OpenEdge.Net.ServerConnection.SocketReadEventArgs):
-	end.
-
-	method protected void OnReadTimeout ( poEventArgs as OpenEdge.Net.ServerConnection.SocketReadEventArgs):
-	end.
-
 	method public void WriteData ( poData as OpenEdge.Core.Memptr):
 	end.
 
-	method protected logical IsConnected ():
-	end.
-
-	method public void StartTls ( pCertificatSubjectName as character):
-	end.
-
 	define public event DataReceived void ( poSender as OpenEdge.Net.ServerConnection.ClientSocket, poEventArgs as OpenEdge.Net.ServerConnection.SocketReadEventArgs).
 
+	define public event ReadTerminated void ( poSender as OpenEdge.Net.ServerConnection.ClientSocket, poEventArgs as OpenEdge.Net.ServerConnection.SocketReadEventArgs).
+
 	define public event ReadTimeout void ( poSender as OpenEdge.Net.ServerConnection.ClientSocket, poEventArgs as OpenEdge.Net.ServerConnection.SocketReadEventArgs).
 
-	define public event ReadTerminated void ( poSender as OpenEdge.Net.ServerConnection.ClientSocket, poEventArgs as OpenEdge.Net.ServerConnection.SocketReadEventArgs).
-
 end.

=== modified file 'oo4gl/OpenEdge/Net/ServerConnection/ClientSocketConnectionParameters.cls'
--- old/oo4gl/OpenEdge/Net/ServerConnection/ClientSocketConnectionParameters.cls	2020-07-29 11:20:46 +0000
+++ new/oo4gl/OpenEdge/Net/ServerConnection/ClientSocketConnectionParameters.cls	2023-05-03 11:42:49 +0000
@@ -1,42 +1,42 @@
 class OpenEdge.Net.ServerConnection.ClientSocketConnectionParameters
 	implements OpenEdge.Core.ServerConnection.IConnectionParameters:
 
+	constructor public ClientSocketConnectionParameters ():
+	end.
+
 	constructor public ClientSocketConnectionParameters ( poURI as OpenEdge.Net.URI):
 	end.
 
 	constructor public ClientSocketConnectionParameters ( pScheme as character, pHost as character, pPort as integer):
 	end.
 
-	constructor public ClientSocketConnectionParameters ():
-	end.
-
 	define public property FormatMask as OpenEdge.Core.ServerConnection.FormatMaskEnum no-undo
 		public get.
 
+	define public property ReuseSession as logical no-undo
+		public get.
+		public set.
+
+	define public property ServerNameIndicator as character no-undo
+		public get.
+		public set.
+
+	define public property SslCiphers as character extent no-undo
+		public get.
+		public set.
+
+	define public property SslProtocols as character extent no-undo
+		public get.
+		public set.
+
 	define public property URI as OpenEdge.Net.URI no-undo
 		public get.
 		public set.
 
-	define public property ReuseSession as logical no-undo
-		public get.
-		public set.
-
 	define public property VerifyHost as logical no-undo
 		public get.
 		public set.
 
-	define public property SslProtocols as character extent no-undo
-		public get.
-		public set.
-
-	define public property SslCiphers as character extent no-undo
-		public get.
-		public set.
-
-	define public property ServerNameIndicator as character no-undo
-		public get.
-		public set.
-
 	method public character GetConnectionString ():
 	end.
 

=== modified file 'oo4gl/OpenEdge/Net/ServerConnection/SocketReadEventArgs.cls'
--- old/oo4gl/OpenEdge/Net/ServerConnection/SocketReadEventArgs.cls	2020-07-29 11:20:46 +0000
+++ new/oo4gl/OpenEdge/Net/ServerConnection/SocketReadEventArgs.cls	2023-05-03 11:42:49 +0000
@@ -1,5 +1,8 @@
 class OpenEdge.Net.ServerConnection.SocketReadEventArgs:
 
+	constructor public SocketReadEventArgs ():
+	end.
+
 	constructor public SocketReadEventArgs ( pdTimeoutOffset as decimal):
 	end.
 
@@ -9,31 +12,28 @@
 	constructor public SocketReadEventArgs ( poData as OpenEdge.Core.Memptr):
 	end.
 
-	constructor public SocketReadEventArgs ():
-	end.
+	define public property BytesRead as int64 no-undo
+		public get.
+		public set.
+
+	define public property Data as OpenEdge.Core.Memptr no-undo
+		public get.
+		public set.
 
 	define public property ReadComplete as logical no-undo
 		public get.
 		public set.
 
+	define public property ReadTerminated as logical no-undo
+		public get.
+		public set.
+
 	define public property ReadTimeout as logical no-undo
 		public get.
 		public set.
 
-	define public property ReadTerminated as logical no-undo
-		public get.
-		public set.
-
-	define public property Data as OpenEdge.Core.Memptr no-undo
-		public get.
-		public set.
-
 	define public property TimeoutEnd as datetime-tz no-undo
 		public get.
 		private set.
 
-	define public property BytesRead as int64 no-undo
-		public get.
-		public set.
-
 end.

=== modified file 'oo4gl/OpenEdge/Net/URI.cls'
--- old/oo4gl/OpenEdge/Net/URI.cls	2020-07-29 11:20:46 +0000
+++ new/oo4gl/OpenEdge/Net/URI.cls	2023-05-03 11:41:41 +0000
@@ -1,4 +1,4 @@
-class OpenEdge.Net.URI:
+class OpenEdge.Net.URI serializable:
 
 	constructor public URI ( pcHost as character):
 	end.
@@ -15,91 +15,64 @@
 	constructor public URI ( pcScheme as character, pcHost as character, piPort as integer, pcPath as character, poQueryMap as OpenEdge.Core.Collections.IStringStringMap, pcFragment as character):
 	end.
 
-	define public static property SCHEME_PART_IDX as integer no-undo
-		public get.
-
 	define public static property AUTHORITY_PART_IDX as integer no-undo
 		public get.
 
-	define public static property PATH_PART_IDX as integer no-undo
+	define public property BaseURI as character no-undo
 		public get.
+		private set.
 
-	define public static property QUERY_PART_IDX as integer no-undo
+	define public property Fragment as character no-undo
 		public get.
+		public set.
 
 	define public static property FRAGMENT_PART_IDX as integer no-undo
 		public get.
 
-	define public property Scheme as character no-undo
-		public get.
-		private set.
-
 	define public property Host as character no-undo
 		public get.
 		private set.
 
-	define public property User as character no-undo
-		public get.
-		public set.
-
 	define public property Password as character no-undo
 		public get.
 		public set.
 
+	define public property Path as character no-undo
+		public get.
+		public set.
+
+	define public static property PATH_PART_IDX as integer no-undo
+		public get.
+
 	define public property Port as integer no-undo
 		public get.
 		public set.
 
-	define public property Path as character no-undo
-		public get.
-		public set.
-
-	define public property Fragment as character no-undo
-		public get.
-		public set.
-
-	define public property BaseURI as character no-undo
-		public get.
-		private set.
-
-	define public property RelativeURI as character no-undo
-		public get.
-		private set.
-
-	define public property QueryString as character no-undo
-		public get.
-		private set.
-
 	define protected property QueryMap as OpenEdge.Core.Collections.IStringStringMap no-undo
 		protected get.
 		private set.
 
-	method public static OpenEdge.Net.URI Parse ( pcURI as character):
-	end.
-
-	method public character extent Split ():
-	end.
-
-	method public static character extent SplitUri ( pData as character):
-	end.
-
-	method protected void SetPath ( pPath as character):
-	end.
-
-	method protected void SetAuthority ( pAuthority as character, pDecode as logical):
-	end.
-
-	method public void AddQueryString ( pQuery as character, pDecode as logical):
-	end.
-
-	method public static OpenEdge.Net.URI Parse ( pcURI as character, pDecode as logical):
-	end.
-
-	method public integer GetPathSegments ( output pSegments as character extent ):
-	end.
-
-	method public void SetPath ( pcSegments as character extent ):
-	end.
+	define public property QueryString as character no-undo
+		public get.
+		private set.
+
+	define public static property QUERY_PART_IDX as integer no-undo
+		public get.
+
+	define public property RelativeURI as character no-undo
+		public get.
+		private set.
+
+	define public property Scheme as character no-undo
+		public get.
+		private set.
+
+	define public static property SCHEME_PART_IDX as integer no-undo
+		public get.
+
+	define public property User as character no-undo
+		public get.
+		public set.
 
 	method public void AddPathSegment ( pcSegment as character):
 	end.
@@ -110,19 +83,19 @@
 	method public void AddQuery ( pcName as character, pcValue as character):
 	end.
 
-	method public logical RemoveQuery ( pcName as character):
-	end.
-
-	method public character GetQueryValue ( pcName as character):
-	end.
-
-	method public OpenEdge.Core.Collections.IStringStringMap GetQueryMap ():
-	end.
-
-	method public void SetQueryMap ( pQueryMap as OpenEdge.Core.Collections.IStringStringMap):
-	end.
-
-	method public override character ToString ():
+	method public void AddQueryString ( pQuery as character, pDecode as logical):
+	end.
+
+	method public character Decode ():
+	end.
+
+	method public static character Decode ( pcEncodedString as character):
+	end.
+
+	method public static character Decode ( pString as OpenEdge.Core.String):
+	end.
+
+	method public static character Decode ( pEncodedString as character, pTargetCodepage as character):
 	end.
 
 	method public character Encode ():
@@ -131,33 +104,33 @@
 	method public static character Encode ( poURI as OpenEdge.Net.URI):
 	end.
 
-	method public static character EncodeURI ( poURI as OpenEdge.Net.URI):
-	end.
-
-	method public character EncodeScheme ():
-	end.
-
-	method public static character EncodeScheme ( pcString as character):
-	end.
-
-	method public static character EncodeScheme ( pString as OpenEdge.Core.String):
+	method public static character Encode ( pcString as character, poEncodingType as OpenEdge.Net.UriEncodingTypeEnum):
+	end.
+
+	method public static character Encode ( pString as character, pEncodingType as OpenEdge.Net.UriEncodingTypeEnum, pReEncode as logical):
+	end.
+
+	method public static character EncodeCookie ( pcString as character):
+	end.
+
+	method public static character EncodeCookie ( pString as OpenEdge.Core.String):
+	end.
+
+	method public character EncodeFragment ():
+	end.
+
+	method public static character EncodeFragment ( pcString as character):
+	end.
+
+	method public static character EncodeFragment ( pString as OpenEdge.Core.String):
+	end.
+
+	method public character EncodeHost ():
 	end.
 
 	method public static character EncodeHost ( pcString as character):
 	end.
 
-	method public character EncodeHost ():
-	end.
-
-	method public static character EncodeUserinfo ( pString as OpenEdge.Core.String):
-	end.
-
-	method public static character EncodeUserinfo ( pcString as character):
-	end.
-
-	method public character EncodeUserinfo ():
-	end.
-
 	method public static character EncodeHost ( pString as OpenEdge.Core.String):
 	end.
 
@@ -179,19 +152,13 @@
 	method public static character EncodeQuery ( pString as OpenEdge.Core.String):
 	end.
 
-	method public character EncodeFragment ():
-	end.
-
-	method public static character EncodeFragment ( pcString as character):
-	end.
-
-	method public static character EncodeFragment ( pString as OpenEdge.Core.String):
-	end.
-
-	method public static character EncodeCookie ( pcString as character):
-	end.
-
-	method public static character EncodeCookie ( pString as OpenEdge.Core.String):
+	method public character EncodeScheme ():
+	end.
+
+	method public static character EncodeScheme ( pcString as character):
+	end.
+
+	method public static character EncodeScheme ( pString as OpenEdge.Core.String):
 	end.
 
 	method public static character EncodeString ( pcString as character):
@@ -200,31 +167,64 @@
 	method public static character EncodeString ( pString as OpenEdge.Core.String):
 	end.
 
-	method public static character Encode ( pcString as character, poEncodingType as OpenEdge.Net.UriEncodingTypeEnum):
-	end.
-
-	method public static character Encode ( pString as character, pEncodingType as OpenEdge.Net.UriEncodingTypeEnum, pReEncode as logical):
-	end.
-
-	method public character Decode ():
-	end.
-
-	method public static character Decode ( pcEncodedString as character):
-	end.
-
-	method public static character Decode ( pString as OpenEdge.Core.String):
-	end.
-
-	method public static character Decode ( pEncodedString as character, pTargetCodepage as character):
+	method public static character EncodeURI ( poURI as OpenEdge.Net.URI):
+	end.
+
+	method public character EncodeUserinfo ():
+	end.
+
+	method public static character EncodeUserinfo ( pString as OpenEdge.Core.String):
+	end.
+
+	method public static character EncodeUserinfo ( pcString as character):
+	end.
+
+	method public integer GetPathSegments ( output pSegments as character extent ):
+	end.
+
+	method public OpenEdge.Core.Collections.IStringStringMap GetQueryMap ():
+	end.
+
+	method public integer GetQueryNames ( output pcNames as character extent ):
+	end.
+
+	method public character GetQueryValue ( pcName as character):
 	end.
 
 	method public logical HasQueryName ( pName as character):
 	end.
 
-	method public integer GetQueryNames ( output pcNames as character extent ):
+	method public static OpenEdge.Net.URI Parse ( pcURI as character):
+	end.
+
+	method public static OpenEdge.Net.URI Parse ( pcURI as character, pDecode as logical):
+	end.
+
+	method public logical RemoveQuery ( pcName as character):
 	end.
 
 	method public static OpenEdge.Net.URI ResolveRelativeReference ( pBaseUri as OpenEdge.Net.URI, pRelativeRef as character):
 	end.
 
+	method protected void SetAuthority ( pAuthority as character, pDecode as logical):
+	end.
+
+	method protected void SetPath ( pPath as character):
+	end.
+
+	method public void SetPath ( pcSegments as character extent ):
+	end.
+
+	method public void SetQueryMap ( pQueryMap as OpenEdge.Core.Collections.IStringStringMap):
+	end.
+
+	method public character extent Split ():
+	end.
+
+	method public static character extent SplitUri ( pData as character):
+	end.
+
+	method public override character ToString ():
+	end.
+
 end.

=== modified file 'oo4gl/Progress/Json/JsonError.cls'
--- old/oo4gl/Progress/Json/JsonError.cls	2018-09-26 18:40:52 +0000
+++ new/oo4gl/Progress/Json/JsonError.cls	2023-05-03 11:24:30 +0000
@@ -1,6 +1,7 @@
 
 class Progress.Json.JsonError
-   inherits Progress.Lang.SysError:
+   inherits Progress.Lang.SysError
+   serializable:
 
    constructor private JsonError():
    end constructor.

=== modified file 'oo4gl/Progress/Json/JsonParserError.cls'
--- old/oo4gl/Progress/Json/JsonParserError.cls	2018-09-26 18:40:52 +0000
+++ new/oo4gl/Progress/Json/JsonParserError.cls	2023-05-03 11:24:51 +0000
@@ -1,6 +1,7 @@
 
 class Progress.Json.JsonParserError
-   inherits Progress.Json.JsonError:
+   inherits Progress.Json.JsonError
+   serializable:
 
    constructor private JsonParserError():
    end constructor.

=== modified file 'oo4gl/Progress/Json/ObjectModel/JsonArray.cls'
--- old/oo4gl/Progress/Json/ObjectModel/JsonArray.cls	2021-03-05 08:47:33 +0000
+++ new/oo4gl/Progress/Json/ObjectModel/JsonArray.cls	2023-04-28 12:13:39 +0000
@@ -1,540 +1,540 @@
-
 class Progress.Json.ObjectModel.JsonArray
-   inherits Progress.Json.ObjectModel.JsonConstruct:
-
-   constructor public JsonArray():
-   end constructor.
-   
-   constructor public JsonArray(input sz as integer):
-   end constructor.
-   
-   constructor public JsonArray(input val as character extent):
-   end constructor.
-   
-   constructor public JsonArray(input val as com-handle extent):
-   end constructor.
-   
-   constructor public JsonArray(input val as date extent):
-   end constructor.
-   
-   constructor public JsonArray(input val as datetime extent):
-   end constructor.
-   
-   constructor public JsonArray(input val as datetime-tz extent):
-   end constructor.
-   
-   constructor public JsonArray(input val as decimal extent):
-   end constructor.
-   
-   constructor public JsonArray(input val as handle extent):
-   end constructor.
-   
-   constructor public JsonArray(input val as int64 extent):
-   end constructor.
-   
-   constructor public JsonArray(input val as integer extent):
-   end constructor.
-   
-   constructor public JsonArray(input val as logical extent):
-   end constructor.
-   
-   constructor public JsonArray(input val as longchar extent):
-   end constructor.
-   
-   constructor public JsonArray(input val as memptr extent):
-   end constructor.
-   
-   constructor public JsonArray(input val as raw extent):
-   end constructor.
-   
-   constructor public JsonArray(input val as recid extent):
-   end constructor.
-   
-   constructor public JsonArray(input val as rowid extent):
-   end constructor.
-   
-   constructor public JsonArray(input val as Progress.Json.ObjectModel.JsonObject extent):
-   end constructor.
-   
-   constructor public JsonArray(input val as Progress.Json.ObjectModel.JsonArray extent):
-   end constructor.
-   
-   define public static property END_OF_ARRAY as integer
-      get.
-      
-   define public property Length as integer
-      get.
-      set.
-      
-   method public integer Add(input val as character):
-   end method.
-   
-   method public integer Add(input val as com-handle ):
-   end method.
-   
-   method public integer Add(input val as date):
-   end method.
-   
-   method public integer Add(input val as datetime):
-   end method.
-   
-   method public integer Add(input val as datetime-tz):
-   end method.
-   
-   method public integer Add(input val as decimal):
-   end method.
-   
-   method public integer Add(input val as handle):
-   end method.
-   
-   method public integer Add(input val as int64):
-   end method.
-   
-   method public integer Add(input val as integer):
-   end method.
-   
-   method public integer Add(input val as logical):
-   end method.
-   
-   method public integer Add(input val as longchar):
-   end method.
-   
-   method public integer Add(input val as memptr):
-   end method.
-   
-   method public integer Add(input val as raw):
-   end method.
-   
-   method public integer Add(input val as recid):
-   end method.
-   
-   method public integer Add(input val as rowid):
-   end method.
-   
-   method public integer Add(input val as class Progress.Json.ObjectModel.JsonArray):
-   end method.
-   
-   method public integer Add(input val as class Progress.Json.ObjectModel.JsonObject):
-   end method.
-   
-   method public integer Add(input val as character extent):
-   end method.
-   
-   method public integer Add(input val as com-handle extent):
-   end method.
-   
-   method public integer Add(input val as date extent):
-   end method.
-   
-   method public integer Add(input val as datetime extent):
-   end method.
-   
-   method public integer Add(input val as datetime-tz extent):
-   end method.
-   
-   method public integer Add(input val as decimal extent):
-   end method.
-   
-   method public integer Add(input val as handle extent):
-   end method.
-   
-   method public integer Add(input val as int64 extent):
-   end method.
-   
-   method public integer Add(input val as integer extent):
-   end method.
-   
-   method public integer Add(input val as logical extent):
-   end method.
-   
-   method public integer Add(input val as longchar extent):
-   end method.
-   
-   method public integer Add(input val as memptr extent):
-   end method.
-   
-   method public integer Add(input val as raw extent):
-   end method.
-   
-   method public integer Add(input val as recid extent):
-   end method.
-   
-   method public integer Add(input val as rowid extent):
-   end method.
-   
-   method public integer Add(input val as class Progress.Json.ObjectModel.JsonArray extent):
-   end method.
-   
-   method public integer Add(input val as class Progress.Json.ObjectModel.JsonObject extent):
-   end method.
-   
-   method public integer Add(input idx as int, input val as character):
-   end method.
-   
-   method public integer Add(input idx as int, input val as com-handle ):
-   end method.
-   
-   method public integer Add(input idx as int, input val as date):
-   end method.
-   
-   method public integer Add(input idx as int, input val as datetime):
-   end method.
-   
-   method public integer Add(input idx as int, input val as datetime-tz):
-   end method.
-   
-   method public integer Add(input idx as int, input val as decimal):
-   end method.
-   
-   method public integer Add(input idx as int, input val as handle):
-   end method.
-   
-   method public integer Add(input idx as int, input val as int64):
-   end method.
-   
-   method public integer Add(input idx as int, input val as integer):
-   end method.
-   
-   method public integer Add(input idx as int, input val as logical):
-   end method.
-   
-   method public integer Add(input idx as int, input val as longchar):
-   end method.
-   
-   method public integer Add(input idx as int, input val as memptr):
-   end method.
-   
-   method public integer Add(input idx as int, input val as raw):
-   end method.
-   
-   method public integer Add(input idx as int, input val as recid):
-   end method.
-   
-   method public integer Add(input idx as int, input val as rowid):
-   end method.
-   
-   method public integer Add(input idx as int, input val as class Progress.Json.ObjectModel.JsonArray):
-   end method.
-   
-   method public integer Add(input idx as int, input val as class Progress.Json.ObjectModel.JsonObject):
-   end method.
-   
-   method public integer Add(input idx as int, input val as character extent):
-   end method.
-   
-   method public integer Add(input idx as int, input val as com-handle extent ):
-   end method.
-   
-   method public integer Add(input idx as int, input val as date extent):
-   end method.
-   
-   method public integer Add(input idx as int, input val as datetime extent):
-   end method.
-   
-   method public integer Add(input idx as int, input val as datetime-tz extent):
-   end method.
-   
-   method public integer Add(input idx as int, input val as decimal extent):
-   end method.
-   
-   method public integer Add(input idx as int, input val as handle extent):
-   end method.
-   
-   method public integer Add(input idx as int, input val as int64 extent):
-   end method.
-   
-   method public integer Add(input idx as int, input val as integer extent):
-   end method.
-   
-   method public integer Add(input idx as int, input val as logical extent):
-   end method.
-   
-   method public integer Add(input idx as int, input val as longchar extent):
-   end method.
-   
-   method public integer Add(input idx as int, input val as memptr extent):
-   end method.
-   
-   method public integer Add(input idx as int, input val as raw extent):
-   end method.
-   
-   method public integer Add(input idx as int, input val as recid extent):
-   end method.
-   
-   method public integer Add(input idx as int, input val as rowid extent):
-   end method.
-   
-   method public integer Add(input idx as int, input val as class Progress.Json.ObjectModel.JsonArray extent):
-   end method.
-   
-   method public integer Add(input idx as int, input val as class Progress.Json.ObjectModel.JsonObject extent):
-   end method.
-   
-   method public integer AddNull():
-   end method.
-   
-   method public integer AddNull(input count as int):
-   end method.
-   
-   method public integer AddNull(input idx as int, input count as int):
-   end method.
-   
-   method public integer AddNumber(input val as char):
-   end method.
-   
-   method public integer AddNumber(input val as char extent):
-   end method.
-   
-   method public integer AddNumber(input idx as int, input val as char):
-   end method.
-   
-   method public integer AddNumber(input idx as int, input val as char extent):
-   end method.
-   
-   method public override Progress.Lang.Object Clone():
-   end method.
-   
-   method public character GetCharacter(input idx as int):
-   end method.
-   
-   method public character extent GetCharacter(input idx as int, input count as int):
-   end method.
-   
-   method public com-handle GetCOMHandle(input idx as int):
-   end method.
-   
-   method public com-handle extent GetCOMHandle(input idx as int, input count as int):
-   end method.
-   
-   method public date GetDate(input idx as int):
-   end method.
-   
-   method public date extent GetDate(input idx as int, input count as int):
-   end method.
-   
-   method public datetime GetDatetime(input idx as int):
-   end method.
-   
-   method public datetime extent GetDatetime(input idx as int, input count as int):
-   end method.
-   
-   method public datetime-tz GetDatetimeTZ(input idx as int):
-   end method.
-   
-   method public datetime-tz extent GetDatetimeTZ(input idx as int, input count as int):
-   end method.
-   
-   method public decimal GetDecimal(input idx as int):
-   end method.
-   
-   method public decimal extent GetDecimal(input idx as int, input count as int):
-   end method.
-   
-   method public handle GetHandle(input idx as int):
-   end method.
-   
-   method public handle extent GetHandle(input idx as int, input count as int):
-   end method.
-   
-   method public int64 GetInt64(input idx as int):
-   end method.
-   
-   method public int64 extent GetInt64(input idx as int, input count as int):
-   end method.
-   
-   method public integer GetInteger(input idx as int):
-   end method.
-   
-   method public integer extent GetInteger(input idx as int, input count as int):
-   end method.
-   
-   method public Progress.Json.ObjectModel.JsonArray GetJsonArray(input idx as int):
-   end method.
-   
-   method public Progress.Json.ObjectModel.JsonArray extent GetJsonArray(input idx as int, input count as int):
-   end method.
-   
-   method public Progress.Json.ObjectModel.JsonObject GetJsonObject(input idx as int):
-   end method.
-   
-   method public Progress.Json.ObjectModel.JsonObject extent GetJsonObject(input idx as int, input count as int):
-   end method.
-   
-   method public longchar GetJsonText():
-   end method.
-   
-   method public longchar GetJsonText(input idx as int):
-   end method.
-   
-   method public longchar extent GetJsonText(input idx as int, input count as int):
-   end method.
-   
-   method public logical GetLogical(input idx as int):
-   end method.
-   
-   method public logical extent GetLogical(input idx as int, input count as int):
-   end method.
-   
-   method public longchar GetLongchar(input idx as int):
-   end method.
-   
-   method public longchar extent GetLongchar(input idx as int, input count as int):
-   end method.
-   
-   method public longchar GetLongchar(input idx as int, input cp as char):
-   end method.
-   
-   method public longchar extent GetLongchar(input idx as int, input count as int, input cp as char):
-   end method.
-   
-   method public memptr GetMemptr(input idx as int):
-   end method.
-   
-   method public memptr extent GetMemptr(input idx as int, input count as int):
-   end method.
-   
-   method public raw GetRaw(input idx as int):
-   end method.
-   
-   method public raw extent GetRaw(input idx as int, input count as int):
-   end method.
-   
-   method public recid GetRecid(input idx as int):
-   end method.
-   
-   method public recid extent GetRecid(input idx as int, input count as int):
-   end method.
-   
-   method public rowid GetRowid(input idx as int):
-   end method.
-   
-   method public rowid extent GetRowid(input idx as int, input count as int):
-   end method.
-   
-   method public integer GetType(input idx as int):
-   end method.
-   
-   method public logical IsNull(input idx as int):
-   end method.
-   
-   method public logical Read(input htt as handle):
-   end method.
-   
-   method public logical Read(input htt as handle, input omit as logical):
-   end method.
-   
-   method public logical Remove(input idx as int):
-   end method.
-   
-   method public logical Remove(input idx as int, input count as int):
-   end method.
-   
-   method public logical Set(input idx as int, input val as character):
-   end method.
-   
-   method public logical Set(input idx as int, input val as com-handle ):
-   end method.
-   
-   method public logical Set(input idx as int, input val as date):
-   end method.
-   
-   method public logical Set(input idx as int, input val as datetime):
-   end method.
-   
-   method public logical Set(input idx as int, input val as datetime-tz):
-   end method.
-   
-   method public logical Set(input idx as int, input val as decimal):
-   end method.
-   
-   method public logical Set(input idx as int, input val as handle):
-   end method.
-   
-   method public logical Set(input idx as int, input val as int64):
-   end method.
-   
-   method public logical Set(input idx as int, input val as integer):
-   end method.
-   
-   method public logical Set(input idx as int, input val as logical):
-   end method.
-   
-   method public logical Set(input idx as int, input val as longchar):
-   end method.
-   
-   method public logical Set(input idx as int, input val as memptr):
-   end method.
-   
-   method public logical Set(input idx as int, input val as raw):
-   end method.
-   
-   method public logical Set(input idx as int, input val as recid):
-   end method.
-   
-   method public logical Set(input idx as int, input val as rowid):
-   end method.
-   
-   method public logical Set(input idx as int, input val as class Progress.Json.ObjectModel.JsonArray):
-   end method.
-   
-   method public logical Set(input idx as int, input val as class Progress.Json.ObjectModel.JsonObject):
-   end method.
-   
-   method public logical SetNull(input idx as int):
-   end method.
-   
-   method public logical SetNumber(input idx as int, input val as char):
-   end method.
-   
-   method public override logical Write(input str-hndl as handle):
-   end method.
-   
-   method public override logical Write(input str-hndl as handle, input fmtted as logical):
-   end method.
-   
-   method public override logical Write(input str-hndl as handle, input fmtted as logical, input enc as char):
-   end method.
-   
-   method public override logical Write(input-output target as longchar):
-   end method.
-   
-   method public override logical Write(input-output target as longchar, input fmtted as logical):
-   end method.
-   
-   method public override logical Write(input-output target as longchar, input fmtted as logical, input enc as char):
-   end method.
-   
-   method public override logical Write(input target as memptr):
-   end method.
-   
-   method public override logical Write(input target as memptr, input fmtted as logical):
-   end method.
-   
-   method public override logical Write(input target as memptr, input fmtted as logical, input enc as char):
-   end method.
-   
-   method public override logical Write(output target as char):
-   end method.
-
-   method public override logical Write(output target as char, input fmtted as logical):
-   end method.
-   
-   method public override logical WriteFile(input fname as char):
-   end method.
-   
-   method public override logical WriteFile(input fname as char, input fmtted as logical):
-   end method.
-   
-   method public override logical WriteFile(input fname as char, input fmtted as logical, input enc as char):
-   end method.
-   
-   method public override logical WriteStream(input sname as char):
-   end method.
-   
-   method public override logical WriteStream(input sname as char, input fmtted as logical):
-   end method.
-   
-   method public override logical WriteStream(input sname as char, input fmtted as logical, input enc as char):
-   end method.
-   
-end class.
+	inherits Progress.Json.ObjectModel.JsonConstruct
+ serializable:
+
+	constructor public JsonArray ():
+	end.
+
+	constructor public JsonArray ( size as integer):
+	end.
+
+	constructor public JsonArray ( value as character extent ):
+	end.
+
+	constructor public JsonArray ( value as com-handle extent ):
+	end.
+
+	constructor public JsonArray ( value as date extent ):
+	end.
+
+	constructor public JsonArray ( value as datetime extent ):
+	end.
+
+	constructor public JsonArray ( value as datetime-tz extent ):
+	end.
+
+	constructor public JsonArray ( value as decimal extent ):
+	end.
+
+	constructor public JsonArray ( value as handle extent ):
+	end.
+
+	constructor public JsonArray ( value as int64 extent ):
+	end.
+
+	constructor public JsonArray ( value as integer extent ):
+	end.
+
+	constructor public JsonArray ( value as logical extent ):
+	end.
+
+	constructor public JsonArray ( value as longchar extent ):
+	end.
+
+	constructor public JsonArray ( value as memptr extent ):
+	end.
+
+	constructor public JsonArray ( value as raw extent ):
+	end.
+
+	constructor public JsonArray ( value as recid extent ):
+	end.
+
+	constructor public JsonArray ( value as rowid extent ):
+	end.
+
+	constructor public JsonArray ( objectRef as Progress.Json.ObjectModel.JsonObject extent ):
+	end.
+
+	constructor public JsonArray ( objectRef as Progress.Json.ObjectModel.JsonArray extent ):
+	end.
+
+	define public static property END_OF_ARRAY as integer no-undo
+		public get.
+
+	define public property Length as integer no-undo
+		public get.
+		public set.
+
+	method public integer Add ( value as character):
+	end.
+
+	method public integer Add ( value as character extent ):
+	end.
+
+	method public integer Add ( value as com-handle):
+	end.
+
+	method public integer Add ( value as com-handle extent ):
+	end.
+
+	method public integer Add ( value as date):
+	end.
+
+	method public integer Add ( value as date extent ):
+	end.
+
+	method public integer Add ( value as datetime):
+	end.
+
+	method public integer Add ( value as datetime extent ):
+	end.
+
+	method public integer Add ( value as datetime-tz):
+	end.
+
+	method public integer Add ( value as datetime-tz extent ):
+	end.
+
+	method public integer Add ( value as decimal):
+	end.
+
+	method public integer Add ( value as decimal extent ):
+	end.
+
+	method public integer Add ( value as handle):
+	end.
+
+	method public integer Add ( value as handle extent ):
+	end.
+
+	method public integer Add ( value as int64):
+	end.
+
+	method public integer Add ( value as int64 extent ):
+	end.
+
+	method public integer Add ( value as integer):
+	end.
+
+	method public integer Add ( value as integer extent ):
+	end.
+
+	method public integer Add ( objectRef as Progress.Json.ObjectModel.JsonArray):
+	end.
+
+	method public integer Add ( objectRef as Progress.Json.ObjectModel.JsonArray extent ):
+	end.
+
+	method public integer Add ( objectRef as Progress.Json.ObjectModel.JsonObject):
+	end.
+
+	method public integer Add ( objectRef as Progress.Json.ObjectModel.JsonObject extent ):
+	end.
+
+	method public integer Add ( value as logical):
+	end.
+
+	method public integer Add ( value as logical extent ):
+	end.
+
+	method public integer Add ( value as longchar):
+	end.
+
+	method public integer Add ( value as longchar extent ):
+	end.
+
+	method public integer Add ( value as memptr):
+	end.
+
+	method public integer Add ( value as memptr extent ):
+	end.
+
+	method public integer Add ( value as raw):
+	end.
+
+	method public integer Add ( value as raw extent ):
+	end.
+
+	method public integer Add ( value as recid):
+	end.
+
+	method public integer Add ( value as recid extent ):
+	end.
+
+	method public integer Add ( value as rowid):
+	end.
+
+	method public integer Add ( value as rowid extent ):
+	end.
+
+	method public integer Add ( index as integer, value as character):
+	end.
+
+	method public integer Add ( index as integer, value as character extent ):
+	end.
+
+	method public integer Add ( index as integer, value as com-handle):
+	end.
+
+	method public integer Add ( index as integer, value as com-handle extent ):
+	end.
+
+	method public integer Add ( index as integer, value as date):
+	end.
+
+	method public integer Add ( index as integer, value as date extent ):
+	end.
+
+	method public integer Add ( index as integer, value as datetime):
+	end.
+
+	method public integer Add ( index as integer, value as datetime extent ):
+	end.
+
+	method public integer Add ( index as integer, value as datetime-tz):
+	end.
+
+	method public integer Add ( index as integer, value as datetime-tz extent ):
+	end.
+
+	method public integer Add ( index as integer, value as decimal):
+	end.
+
+	method public integer Add ( index as integer, value as decimal extent ):
+	end.
+
+	method public integer Add ( index as integer, value as handle):
+	end.
+
+	method public integer Add ( index as integer, value as handle extent ):
+	end.
+
+	method public integer Add ( index as integer, value as int64):
+	end.
+
+	method public integer Add ( index as integer, value as int64 extent ):
+	end.
+
+	method public integer Add ( index as integer, value as integer):
+	end.
+
+	method public integer Add ( index as integer, value as integer extent ):
+	end.
+
+	method public integer Add ( index as integer, objectRef as Progress.Json.ObjectModel.JsonArray):
+	end.
+
+	method public integer Add ( index as integer, objectRef as Progress.Json.ObjectModel.JsonArray extent ):
+	end.
+
+	method public integer Add ( index as integer, objectRef as Progress.Json.ObjectModel.JsonObject):
+	end.
+
+	method public integer Add ( index as integer, objectRef as Progress.Json.ObjectModel.JsonObject extent ):
+	end.
+
+	method public integer Add ( index as integer, value as logical):
+	end.
+
+	method public integer Add ( index as integer, value as logical extent ):
+	end.
+
+	method public integer Add ( index as integer, value as longchar):
+	end.
+
+	method public integer Add ( index as integer, value as longchar extent ):
+	end.
+
+	method public integer Add ( index as integer, value as memptr):
+	end.
+
+	method public integer Add ( index as integer, value as memptr extent ):
+	end.
+
+	method public integer Add ( index as integer, value as raw):
+	end.
+
+	method public integer Add ( index as integer, value as raw extent ):
+	end.
+
+	method public integer Add ( index as integer, value as recid):
+	end.
+
+	method public integer Add ( index as integer, value as recid extent ):
+	end.
+
+	method public integer Add ( index as integer, value as rowid):
+	end.
+
+	method public integer Add ( index as integer, value as rowid extent ):
+	end.
+
+	method public integer AddNull ():
+	end.
+
+	method public integer AddNull ( size as integer):
+	end.
+
+	method public integer AddNull ( index as integer, size as integer):
+	end.
+
+	method public integer AddNumber ( value as character):
+	end.
+
+	method public integer AddNumber ( value as character extent ):
+	end.
+
+	method public integer AddNumber ( index as integer, value as character):
+	end.
+
+	method public integer AddNumber ( index as integer, value as character extent ):
+	end.
+
+	method public Progress.Lang.Object Clone ():
+	end.
+
+	method public character GetCharacter ( index as integer):
+	end.
+
+	method public character extent GetCharacter ( index as integer, size as integer):
+	end.
+
+	method public com-handle GetCOMHandle ( index as integer):
+	end.
+
+	method public com-handle extent GetCOMHandle ( index as integer, size as integer):
+	end.
+
+	method public date GetDate ( index as integer):
+	end.
+
+	method public date extent GetDate ( index as integer, size as integer):
+	end.
+
+	method public datetime GetDatetime ( index as integer):
+	end.
+
+	method public datetime extent GetDatetime ( index as integer, size as integer):
+	end.
+
+	method public datetime-tz GetDatetimeTZ ( index as integer):
+	end.
+
+	method public datetime-tz extent GetDatetimeTZ ( index as integer, size as integer):
+	end.
+
+	method public decimal GetDecimal ( index as integer):
+	end.
+
+	method public decimal extent GetDecimal ( index as integer, size as integer):
+	end.
+
+	method public handle GetHandle ( index as integer):
+	end.
+
+	method public handle extent GetHandle ( index as integer, size as integer):
+	end.
+
+	method public int64 GetInt64 ( index as integer):
+	end.
+
+	method public int64 extent GetInt64 ( index as integer, size as integer):
+	end.
+
+	method public integer GetInteger ( index as integer):
+	end.
+
+	method public integer extent GetInteger ( index as integer, size as integer):
+	end.
+
+	method public Progress.Json.ObjectModel.JsonArray GetJsonArray ( index as integer):
+	end.
+
+	method public Progress.Json.ObjectModel.JsonArray extent GetJsonArray ( index as integer, size as integer):
+	end.
+
+	method public Progress.Json.ObjectModel.JsonObject GetJsonObject ( index as integer):
+	end.
+
+	method public Progress.Json.ObjectModel.JsonObject extent GetJsonObject ( index as integer, size as integer):
+	end.
+
+	method public longchar GetJsonText ():
+	end.
+
+	method public longchar GetJsonText ( index as integer):
+	end.
+
+	method public longchar extent GetJsonText ( index as integer, size as integer):
+	end.
+
+	method public logical GetLogical ( index as integer):
+	end.
+
+	method public logical extent GetLogical ( index as integer, size as integer):
+	end.
+
+	method public longchar GetLongchar ( index as integer):
+	end.
+
+	method public longchar GetLongchar ( index as integer, codepage as character):
+	end.
+
+	method public longchar extent GetLongchar ( index as integer, size as integer):
+	end.
+
+	method public longchar extent GetLongchar ( index as integer, size as integer, codepage as character):
+	end.
+
+	method public memptr GetMemptr ( index as integer):
+	end.
+
+	method public memptr extent GetMemptr ( index as integer, size as integer):
+	end.
+
+	method public raw GetRaw ( index as integer):
+	end.
+
+	method public raw extent GetRaw ( index as integer, size as integer):
+	end.
+
+	method public recid GetRecid ( index as integer):
+	end.
+
+	method public recid extent GetRecid ( index as integer, size as integer):
+	end.
+
+	method public rowid GetRowid ( index as integer):
+	end.
+
+	method public rowid extent GetRowid ( index as integer, size as integer):
+	end.
+
+	method public integer GetType ( index as integer):
+	end.
+
+	method public logical IsNull ( index as integer):
+	end.
+
+	method public logical Read ( tableHandle as handle):
+	end.
+
+	method public logical Read ( tableHandle as handle, omitInitlVals as logical):
+	end.
+
+	method public logical Remove ( index as integer):
+	end.
+
+	method public logical Remove ( index as integer, size as integer):
+	end.
+
+	method public logical Set ( index as integer, value as character):
+	end.
+
+	method public logical Set ( index as integer, value as com-handle):
+	end.
+
+	method public logical Set ( index as integer, value as date):
+	end.
+
+	method public logical Set ( index as integer, value as datetime):
+	end.
+
+	method public logical Set ( index as integer, value as datetime-tz):
+	end.
+
+	method public logical Set ( index as integer, value as decimal):
+	end.
+
+	method public logical Set ( index as integer, value as handle):
+	end.
+
+	method public logical Set ( index as integer, value as int64):
+	end.
+
+	method public logical Set ( index as integer, value as integer):
+	end.
+
+	method public logical Set ( index as integer, objectRef as Progress.Json.ObjectModel.JsonArray):
+	end.
+
+	method public logical Set ( index as integer, objectRef as Progress.Json.ObjectModel.JsonObject):
+	end.
+
+	method public logical Set ( index as integer, value as logical):
+	end.
+
+	method public logical Set ( index as integer, value as longchar):
+	end.
+
+	method public logical Set ( index as integer, value as memptr):
+	end.
+
+	method public logical Set ( index as integer, value as raw):
+	end.
+
+	method public logical Set ( index as integer, value as recid):
+	end.
+
+	method public logical Set ( index as integer, value as rowid):
+	end.
+
+	method public logical SetNull ( index as integer):
+	end.
+
+	method public logical SetNumber ( index as integer, value as character):
+	end.
+
+	method public override logical Write ( streamHdl as handle):
+	end.
+
+	method public override logical Write ( input-output target as longchar):
+	end.
+
+	method public override logical Write ( target as memptr):
+	end.
+
+	method public override logical Write ( output target as character):
+	end.
+
+	method public override logical Write ( streamHdl as handle, formatted as logical):
+	end.
+
+	method public override logical Write ( input-output target as longchar, formatted as logical):
+	end.
+
+	method public override logical Write ( target as memptr, formatted as logical):
+	end.
+
+	method public override logical Write ( output target as character, formatted as logical):
+	end.
+
+	method public override logical Write ( streamHdl as handle, formatted as logical, encoding as character):
+	end.
+
+	method public override logical Write ( input-output target as longchar, formatted as logical, encoding as character):
+	end.
+
+	method public override logical Write ( target as memptr, formatted as logical, encoding as character):
+	end.
+
+	method public override logical WriteFile ( fileName as character):
+	end.
+
+	method public override logical WriteFile ( fileName as character, formatted as logical):
+	end.
+
+	method public override logical WriteFile ( fileName as character, formatted as logical, encoding as character):
+	end.
+
+	method public override logical WriteStream ( streamHdl as character):
+	end.
+
+	method public override logical WriteStream ( streamHdl as character, formatted as logical):
+	end.
+
+	method public override logical WriteStream ( streamHdl as character, formatted as logical, encoding as character):
+	end.
+
+end.

=== modified file 'oo4gl/Progress/Json/ObjectModel/JsonConstruct.cls'
--- old/oo4gl/Progress/Json/ObjectModel/JsonConstruct.cls	2021-03-05 08:47:33 +0000
+++ new/oo4gl/Progress/Json/ObjectModel/JsonConstruct.cls	2023-05-03 11:15:53 +0000
@@ -1,6 +1,6 @@
 
 class Progress.Json.ObjectModel.JsonConstruct
-   abstract:
+   abstract serializable:
 
    constructor public JsonConstruct():
    end constructor.

=== modified file 'oo4gl/Progress/Json/ObjectModel/JsonObject.cls'
--- old/oo4gl/Progress/Json/ObjectModel/JsonObject.cls	2021-03-05 08:47:33 +0000
+++ new/oo4gl/Progress/Json/ObjectModel/JsonObject.cls	2023-05-03 11:17:10 +0000
@@ -1,6 +1,7 @@
 
 class Progress.Json.ObjectModel.JsonObject
-   inherits Progress.Json.ObjectModel.JsonConstruct:
+   inherits Progress.Json.ObjectModel.JsonConstruct
+   serializable:
 
    constructor public JsonObject():
    end constructor.

=== modified file 'oo4gl/Progress/Lang/AppError.cls'
--- old/oo4gl/Progress/Lang/AppError.cls	2017-07-09 15:20:30 +0000
+++ new/oo4gl/Progress/Lang/AppError.cls	2023-05-03 11:18:50 +0000
@@ -1,6 +1,7 @@
 
 class Progress.Lang.AppError
-   inherits Progress.Lang.ProError:
+   inherits Progress.Lang.ProError
+   serializable:
 
    define property ReturnValue as character
       get.

=== modified file 'oo4gl/Progress/Lang/Class.cls'
--- old/oo4gl/Progress/Lang/Class.cls	2022-03-07 17:04:27 +0000
+++ new/oo4gl/Progress/Lang/Class.cls	2023-04-28 12:16:37 +0000
@@ -1,201 +1,168 @@
-
-class Progress.Lang.Class
-inherits Progress.Lang.Object:
-
-   define property Package as character
-      get.
-   
-   define property SuperClass as Progress.Lang.Class
-      get.
-   
-   define property TypeName as character
-      get.
-      
-   constructor private Class():
-   end constructor.
-
-   /* the actual GetPropertyValue() return type is variable (it depends on the */
-   /* property, but we are encoding it as Object until we have a better solution */
-   method public _polymorphic_ GetPropertyValue(input pname as character):
-   end.
-   
-   method public _polymorphic_ GetPropertyValue(input pname as character,
-      input index as _polymorphic_):
-   end.
-   
-   method public _polymorphic_ GetPropertyValue(input obj-ref as Progress.Lang.Object, 
-      input pname as character):
-   end.
-   
-   method public _polymorphic_ GetPropertyValue(input obj-ref as Progress.Lang.Object, 
-      input pname as character,
-      input index as _polymorphic_):
-   end.
-   
-   method public static Progress.Lang.Class GetClass(input clsname as character):
-   end method.
-   
-   method public character GetEnumNames():
-   end method.
-   
-   method public character GetEnumValues():
-   end method.
-
-   method public logical HasStatics():
-   end method.
-   
-   method public logical HasWidgetPool():
-   end method.
-   
-   /* the actual Invoke() return type is variable (it depends on the */
-   /* method invoked, but we are encoding it as Object until we have */
-   /* a better solution */
-   method public _polymorphic_ Invoke(input obj-instance as Progress.Lang.Object,
-                                             input method-name as character):
-   end method.
-   
-   method public _polymorphic_ Invoke(input obj-instance as Progress.Lang.Object,
-                                             input method-name as character,
-                                             input parm-list as Progress.Lang.ParameterList):
-   end method.
-   
-   method public _polymorphic_ Invoke(input method-name as character):
-   end method.
-   
-   method public _polymorphic_ Invoke(input method-name as character,
-                                             input parm-list as Progress.Lang.ParameterList):
-   end method.
-   
-   method public logical IsA(input obj-instance as Progress.Lang.Class):
-   end method.
-
-   method public logical IsA(input type-name as character):
-   end method.
-
-   method public logical IsAbstract():
-   end method.
-   
-   method public logical IsEnum():
-   end method.
-   
-   method public logical IsFinal():
-   end method.
-   
-   method public logical IsFlagsEnum():
-   end method.
-   
-   method public logical IsGeneric():
-   end method.
-   
-   method public logical IsIndexed():
-   end method.
-   
-   method public logical IsInterface():
-   end method.
-   
-   method public logical IsSerializable():
-   end method.
-   
-   method public Progress.Lang.Object New():
-   end method.
-   
-   method public Progress.Lang.Object New(input parm-list as Progress.Lang.ParameterList):
-   end method.
-   
-   method public Progress.Reflect.Constructor GetConstructor(input parms as Progress.Lang.ParameterList):
-   end method.
-   
-   method public Progress.Reflect.Constructor GetConstructor(input flags as Progress.Reflect.Flags, 
-      input parms as Progress.Lang.ParameterList):
-   end method.
-   
-   method public Progress.Reflect.Constructor extent GetConstructors():
-   end method.
-   
-   method public Progress.Reflect.Constructor extent GetConstructors(input flags as Progress.Reflect.Flags):
-   end method.
-   
-   method public character GetEnumName(input value as int64):
-   end method.
-   
-   method public int64 GetEnumValue(input name as character):
-   end method.
-   
-   method public Progress.Reflect.Event GetEvent(input name as character):
-   end method.
-   
-   method public Progress.Reflect.Event GetEvent(input name as character, 
-      input flags as Progress.Reflect.Flags):
-   end method.
-   
-   method public Progress.Reflect.Event extent GetEvents():
-   end method.
-   
-   method public Progress.Reflect.Event extent GetEvents(input flags as Progress.Reflect.Flags):
-   end method.
-   
-   method public Progress.Lang.Class extent GetInterfaces():
-   end method.
-   
-   method public Progress.Reflect.Method GetMethod(input method-name as character, 
-      input parms as Progress.Lang.ParameterList):
-   end method.
-   
-   method public Progress.Reflect.Method GetMethod(input method-name as character,
-      input flags as Progress.Reflect.Flags, 
-      input parms as Progress.Lang.ParameterList):
-   end method.
-   
-   method public Progress.Reflect.Method extent GetMethods():
-   end method.
-   
-   method public Progress.Reflect.Method extent GetMethods(input flags as Progress.Reflect.Flags):
-   end method.
-   
-   method public Progress.Reflect.Property extent GetProperties():
-   end method.
-   
-   method public Progress.Reflect.Property extent GetProperties(input flags as Progress.Reflect.Flags):
-   end method.
-   
-   method public Progress.Reflect.Property GetProperty(input name as character):
-   end method.
-   
-   method public Progress.Reflect.Property GetProperty(input name as character,
-      input flags as Progress.Reflect.Flags):
-   end method.
-   
-   method public Progress.Reflect.Variable extent GetVariables():
-   end method.
-   
-   method public Progress.Reflect.Variable extent GetVariables(input flags as Progress.Reflect.Flags):
-   end method.
-   
-   method public Progress.Reflect.Variable GetVariable(input name as character):
-   end method.
-   
-   method public Progress.Reflect.Variable GetVariable(input name as character,
-      input flags as Progress.Reflect.Flags):
-   end method.
-   
-   method public void SetPropertyValue(input pname as character,
-      input value as _polymorphic_):
-   end.
-   
-   method public void SetPropertyValue(input pname as character,
-      input index as _polymorphic_,
-      input value as _polymorphic_):
-   end.
-   
-   method public void SetPropertyValue(input obj-ref as Progress.Lang.Object, 
-      input pname as character, 
-      input value as _polymorphic_):
-   end.
-   
-   method public void SetPropertyValue(input obj-ref as Progress.Lang.Object, 
-      input pname as character,
-      input index as _polymorphic_,
-      input value as _polymorphic_):
-   end.
-   
-end class.
+class Progress.Lang.Class final:
+
+	define public property Package as character no-undo
+		public get.
+
+	define public property SuperClass as Progress.Lang.Class no-undo
+		public get.
+
+	define public property TypeName as character no-undo
+		public get.
+
+	method public static Progress.Lang.Class GetClass ( typeName as character):
+	end.
+
+	method public Progress.Reflect.Constructor GetConstructor ( parameterList as Progress.Lang.ParameterList):
+	end.
+
+	method public Progress.Reflect.Constructor GetConstructor ( flags as Progress.Reflect.Flags, parameterList as Progress.Lang.ParameterList):
+	end.
+
+	method public Progress.Reflect.Constructor extent GetConstructors ():
+	end.
+
+	method public Progress.Reflect.Constructor extent GetConstructors ( flags as Progress.Reflect.Flags):
+	end.
+
+	method public character GetEnumName ( value as int64):
+	end.
+
+	method public character GetEnumNames ():
+	end.
+
+	method public int64 GetEnumValue ( enumMemberName as character):
+	end.
+
+	method public character GetEnumValues ():
+	end.
+
+	method public Progress.Reflect.Event GetEvent ( eventName as character):
+	end.
+
+	method public Progress.Reflect.Event GetEvent ( eventName as character, flags as Progress.Reflect.Flags):
+	end.
+
+	method public Progress.Reflect.Event extent GetEvents ():
+	end.
+
+	method public Progress.Reflect.Event extent GetEvents ( flags as Progress.Reflect.Flags):
+	end.
+
+	method public Progress.Lang.Class extent GetInterfaces ():
+	end.
+
+	method public Progress.Reflect.Method GetMethod ( methodName as character, parameterList as Progress.Lang.ParameterList):
+	end.
+
+	method public Progress.Reflect.Method GetMethod ( methodName as character, flags as Progress.Reflect.Flags, parameterList as Progress.Lang.ParameterList):
+	end.
+
+	method public Progress.Reflect.Method extent GetMethods ():
+	end.
+
+	method public Progress.Reflect.Method extent GetMethods ( flags as Progress.Reflect.Flags):
+	end.
+
+	method public Progress.Reflect.Property extent GetProperties ():
+	end.
+
+	method public Progress.Reflect.Property extent GetProperties ( flags as Progress.Reflect.Flags):
+	end.
+
+	method public Progress.Reflect.Property GetProperty ( propertyName as character):
+	end.
+
+	method public Progress.Reflect.Property GetProperty ( propertyName as character, flags as Progress.Reflect.Flags):
+	end.
+
+	method public _polymorphic_ GetPropertyValue ( propertyName as character):
+	end.
+
+	method public _polymorphic_ GetPropertyValue ( objectRef as Progress.Lang.Object, propertyName as character):
+	end.
+
+	method public _polymorphic_ GetPropertyValue ( propertyName as character, index as integer):
+	end.
+
+	method public _polymorphic_ GetPropertyValue ( objectRef as Progress.Lang.Object, propertyName as character, index as _polymorphic_):
+	end.
+
+	method public Progress.Reflect.Variable GetVariable ( varName as character):
+	end.
+
+	method public Progress.Reflect.Variable GetVariable ( varName as character, flags as Progress.Reflect.Flags):
+	end.
+
+	method public Progress.Reflect.Variable extent GetVariables ():
+	end.
+
+	method public Progress.Reflect.Variable extent GetVariables ( flags as Progress.Reflect.Flags):
+	end.
+
+	method public logical HasStatics ():
+	end.
+
+	method public logical HasWidgetPool ():
+	end.
+
+	method public _polymorphic_ Invoke ( methodName as character):
+	end.
+
+	method public _polymorphic_ Invoke ( objectRef as Progress.Lang.Object, methodName as character):
+	end.
+
+	method public _polymorphic_ Invoke ( methodName as character, parameterList as Progress.Lang.ParameterList):
+	end.
+
+	method public _polymorphic_ Invoke ( objectRef as Progress.Lang.Object, methodName as character, parameterList as Progress.Lang.ParameterList):
+	end.
+
+	method public logical IsA ( typeName as character):
+	end.
+
+	method public logical IsA ( objectRef as Progress.Lang.Object):
+	end.
+
+	method public logical IsAbstract ():
+	end.
+
+	method public logical IsEnum ():
+	end.
+
+	method public logical IsFinal ():
+	end.
+
+	method public logical IsFlagsEnum ():
+	end.
+
+	method public logical IsGeneric ():
+	end.
+
+	method public logical IsIndexed ():
+	end.
+
+	method public logical IsInterface ():
+	end.
+
+	method public logical IsSerializable ():
+	end.
+
+	method public Progress.Lang.Object New ():
+	end.
+
+	method public Progress.Lang.Object New ( parameterList as Progress.Lang.ParameterList):
+	end.
+
+	method public void SetPropertyValue ( propertyName as character, value as _polymorphic_):
+	end.
+
+	method public void SetPropertyValue ( objectRef as Progress.Lang.Object, propertyName as character, value as _polymorphic_):
+	end.
+
+	method public void SetPropertyValue ( propertyName as character, index as integer, value as _polymorphic_):
+	end.
+
+	method public void SetPropertyValue ( objectRef as Progress.Lang.Object, propertyName as character, index as _polymorphic_, value as _polymorphic_):
+	end.
+
+end.

=== modified file 'oo4gl/Progress/Lang/ParameterList.cls'
--- old/oo4gl/Progress/Lang/ParameterList.cls	2022-03-07 17:04:27 +0000
+++ new/oo4gl/Progress/Lang/ParameterList.cls	2023-05-03 11:45:22 +0000
@@ -1,23 +1,24 @@
-
-class Progress.Lang.ParameterList
-inherits Progress.Lang.Object:
-
-   define property NumParameters as integer
-      get.
-      set.
-   
-   constructor public ParameterList(input num-parms as integer):
-   end constructor.
-   
-   method public logical Clear():
-   end method.
-   
+class Progress.Lang.ParameterList final:
+
+	constructor public ParameterList ( numParams as integer):
+	end.
+
+	define public property NumParameters as integer no-undo
+		public get.
+		public set.
+
+	define public property SignatureList as character no-undo
+		public get.
+
+	method public logical Clear ():
+	end.
+
    /* the actual parm-val data type is variable but we are encoding it as */
    /* Object until we have a better solution */
-   method public logical SetParameter(input idx as integer,
-                                      input dtype as character,
-                                      input pmode as character,
-                                      input parm-val as _polymorphic_):
-   end method.
-   
-end class.
+	method public logical SetParameter ( index as integer, value as _polymorphic_):
+	end.
+
+	method public logical SetParameter ( index as integer, dataType as character, mode as character, value as _polymorphic_):
+	end.
+
+end.

=== modified file 'oo4gl/Progress/Lang/ProError.cls'
--- old/oo4gl/Progress/Lang/ProError.cls	2017-07-09 15:20:30 +0000
+++ new/oo4gl/Progress/Lang/ProError.cls	2023-05-03 11:47:21 +0000
@@ -1,6 +1,7 @@
 
 class Progress.Lang.ProError
-   implements Progress.Lang.Error:
+   implements Progress.Lang.Error
+   serializable:
 
    define property CallStack as character
       get.
@@ -18,4 +19,4 @@
    method public integer GetMessageNum(input indx as integer):
    end method.
 
-end class.
+end class.
\ No newline at end of file

=== modified file 'oo4gl/Progress/Lang/SoapFaultError.cls'
--- old/oo4gl/Progress/Lang/SoapFaultError.cls	2018-04-25 09:43:35 +0000
+++ new/oo4gl/Progress/Lang/SoapFaultError.cls	2023-05-03 11:26:43 +0000
@@ -1,7 +1,7 @@
 
 class Progress.Lang.SoapFaultError
    inherits Progress.Lang.SysError
-   final:
+   final serializable:
 
    define public property SoapFault as handle
       get.

=== modified file 'oo4gl/Progress/Lang/SysError.cls'
--- old/oo4gl/Progress/Lang/SysError.cls	2017-07-09 15:20:30 +0000
+++ new/oo4gl/Progress/Lang/SysError.cls	2023-05-03 11:27:05 +0000
@@ -1,5 +1,6 @@
 
 class Progress.Lang.SysError
-   inherits Progress.Lang.ProError:
+   inherits Progress.Lang.ProError
+   final serializable:
 
 end class.

=== modified file 'oo4gl/Progress/Reflect/Constructor.cls'
--- old/oo4gl/Progress/Reflect/Constructor.cls	2022-03-07 17:04:27 +0000
+++ new/oo4gl/Progress/Reflect/Constructor.cls	2023-04-28 12:18:59 +0000
@@ -1,18 +1,24 @@
-class Progress.Reflect.Constructor
-  inherits Progress.Lang.Object:
-  
-  define public property AccessMode as Progress.Reflect.AccessMode get.
-
-  define public property OriginatingClass as Progress.Lang.Class get.
-
-  define public property Name as character get.
-
-  define public property NumParameters as integer get.
-
-  method public Progress.Reflect.Parameter EXTENT GetParameters():
-  end.
-
-  method public _polymorphic_ Invoke( INPUT params AS Progress.Lang.ParameterList ):
-  end.
+class Progress.Reflect.Constructor final:
+
+	define public property AccessMode as Progress.Reflect.AccessMode no-undo
+		public get.
+
+	define public property Name as character no-undo
+		public get.
+
+	define public property NumParameters as integer no-undo
+		public get.
+
+	define public property OriginatingClass as Progress.Lang.Class no-undo
+		public get.
+
+	method public Progress.Reflect.Parameter extent GetParameters ():
+	end.
+
+	method public Progress.Lang.Object Invoke ( parameterList as Progress.Lang.ParameterList):
+	end.
+
+	method public override character ToString ():
+	end.
 
 end.

=== modified file 'oo4gl/Progress/Reflect/Method.cls'
--- old/oo4gl/Progress/Reflect/Method.cls	2022-03-07 17:04:27 +0000
+++ new/oo4gl/Progress/Reflect/Method.cls	2023-04-28 12:20:44 +0000
@@ -1,37 +1,51 @@
-class Progress.Reflect.Method
-  inherits Progress.Lang.Object:
-  
-  define public property AccessMode as progress.reflect.accessmode get.
-
-  define public property DeclaringClass as progress.lang.class get.
-
-  define public property IsAbstract as logical get.
-
-  define public property IsFinal as logical get.
-
-  define public property IsOverride as logical get.
-
-  define public property IsStatic as logical get.
-
-  define public property Name as character get.
-
-  define public property NumParameters as integer get.
-
-  define public property OriginatingClass as progress.lang.class get.
-
-  define public property ReturnExtent as integer get.
-
-  define public property ReturnType as Progress.Reflect.DataType get.
-
-  define public property ReturnTypeName as character get.  
-
-  method public Progress.Reflect.Parameter EXTENT GetParameters():
-  end.
-
-  method public _polymorphic_ Invoke( INPUT params AS Progress.Lang.ParameterList ):
-  end.
-
-  method public _polymorphic_ Invoke( INPUT instance AS Progress.Lang.Object, INPUT params AS Progress.Lang.ParameterList ):
-  end.
+class Progress.Reflect.Method final:
+
+	define public property AccessMode as Progress.Reflect.AccessMode no-undo
+		public get.
+
+	define public property DeclaringClass as Progress.Lang.Class no-undo
+		public get.
+
+	define public property IsAbstract as logical no-undo
+		public get.
+
+	define public property IsFinal as logical no-undo
+		public get.
+
+	define public property IsOverride as logical no-undo
+		public get.
+
+	define public property IsStatic as logical no-undo
+		public get.
+
+	define public property Name as character no-undo
+		public get.
+
+	define public property NumParameters as integer no-undo
+		public get.
+
+	define public property OriginatingClass as Progress.Lang.Class no-undo
+		public get.
+
+	define public property ReturnExtent as integer no-undo
+		public get.
+
+	define public property ReturnType as Progress.Reflect.DataType no-undo
+		public get.
+
+	define public property ReturnTypeName as character no-undo
+		public get.
+
+	method public Progress.Reflect.Parameter extent GetParameters ():
+	end.
+
+	method public _polymorphic_ Invoke ( parameterList as Progress.Lang.ParameterList):
+	end.
+
+	method public _polymorphic_ Invoke ( parameterList as Progress.Lang.Object, objectRef as Progress.Lang.ParameterList):
+	end.
+
+	method public override character ToString ():
+	end.
 
 end.

=== modified file 'oo4gl/Progress/Reflect/ParameterMode.cls'
--- old/oo4gl/Progress/Reflect/ParameterMode.cls	2020-05-20 11:34:22 +0000
+++ new/oo4gl/Progress/Reflect/ParameterMode.cls	2023-05-03 11:29:19 +0000
@@ -4,7 +4,8 @@
         Input = 1
         Output = 2
         InputOutput = 3
-        Append
-        Bind.
+        Append = 4
+        Bind = 8
+        ByReference =16.
    
 end enum.

