Top Method Summary
Options Name Purpose
CHARACTER BuildClientMethodSignature (JsonObject, JsonObject, character, character, character) Builds the ABL parameter list for a generated client method
CHARACTER BuildClientRequestParameters (JsonObject) Builds the ABL statements populating the request parameter lists for a client method
Progress.Json.ObjectModel.JsonObject BuildParametersSchema (JsonObject) Builds an object schema from the (query / path / header) parameters of an operation
GenerateReferencedType (character, JsonObject, character, JsonObject, SwaggerSchemaTypeGeneratorParameter, ISwaggerSchemaObjectGenerator, ISwaggerToAblClassNameProvider, character, ILoggingStream, CharacterList, CharacterList) Generates the response / request body type at a schema path of an operation
GenerateReferencedTypes (character[], JsonObject, ISwaggerBasePackageParameter, ILoggingStream, CharacterList) Generates the ABL types referenced by a set of operations
GenerateRequestTypes (character[], JsonObject, ISwaggerBasePackageParameter, ILoggingStream, CharacterList) Generates the request parameter object types for operations that declare parameters but no request body
CHARACTER GetClientAuthScheme (JsonObject, character[]) Determines the authentication scheme to generate for a client
Progress.Json.ObjectModel.JsonObject GetJsonObject (JsonObject, character) Returns the properties JsonObject
CHARACTER GetOperationHttpMethod (character) Returns the HTTP request method of a Swagger operation pointer
CHARACTER GetOperationName (JsonObject, character) Returns the ABL method name for a Swagger operation
CHARACTER GetOperationPath (character) Returns the REST resource path of a Swagger operation pointer
CHARACTER GetParameterName (character, character) Returns the ABL parameter name for a Swagger parameter
CHARACTER GetParameterPrefix (character) Returns the parameter name prefix for an ABL data type
Progress.Json.ObjectModel.JsonObject GetProperties (JsonObject, JsonObject) Returns the properties JsonObject
CHARACTER InvokeTemplate (character, ClassName, character[], JsonObject, SwaggerClientGeneratorParameter, ILoggingStream) Invokes an active template for a client
CHARACTER InvokeTemplate (character, ClassName, character[], JsonObject, SwaggerServiceGeneratorParameter, ILoggingStream) Invokes an active template for a service (Business Task)
CHARACTER InvokeTemplate (character, ClassName, JsonObject, JsonObject, SwaggerSchemaTypeGeneratorParameter, ILoggingStream) Invokes an active template for a schema type
Progress.Json.ObjectModel.JsonObject ResolveRef (JsonObject, JsonObject) Resolves as $ref
CHARACTER ShortTypeName (character, character) Returns the short class name when the type is in the given package, otherwise the type name unchanged
CHARACTER SimpleAblType (character, character) Returns the ABL data type for a Swagger parameter type/format
CHARACTER ToAblDataType (character, character) Returns the ABL DataType based on type and format
CHARACTER ToAblDataType (character, character, character, JsonObject, JsonObject, ISwaggerBasePackageParameter) Returns the ABL DataType for the given properties of the JSON schema object


Method Detail
Top

CHARACTER BuildClientMethodSignature (JsonObject, JsonObject, character, character, character)

Purpose: Builds the ABL parameter list for a generated client method
Notes: Continuation parameters are aligned under the first parameter

Parameters:
poApiSpec Progress.Json.ObjectModel.JsonObject
The API specification
poMethod Progress.Json.ObjectModel.JsonObject
The operation JSON object
pcResponseType CHARACTER
The (ABL) return type of the method
pcOperationId CHARACTER
The method name
pcBodyType CHARACTER
The request body parameter type ("" or ? when none)
Returns CHARACTER
The ABL parameter list (without the enclosing parentheses)
Top

CHARACTER BuildClientRequestParameters (JsonObject)

Purpose: Builds the ABL statements populating the request parameter lists for a client method
Notes: Emits oPathParameters / oQueryParameters / oHeaders / oCookies Add
statements based on the "in" of each Swagger parameter

Parameters:
poMethod Progress.Json.ObjectModel.JsonObject
The operation JSON object
Returns CHARACTER
The ABL statements (one per parameter), or the empty value when there are none
Top

Progress.Json.ObjectModel.JsonObject BuildParametersSchema (JsonObject)

Purpose: Builds an object schema from the (query / path / header) parameters of an operation
Notes: Used to generate a request parameter object for operations that
declare parameters but no request body. Each parameter becomes a
property of an object schema (type, format and description are
carried over); required parameters are added to the required list.

Parameters:
poMethod Progress.Json.ObjectModel.JsonObject
The operation JSON object
Returns Progress.Json.ObjectModel.JsonObject
The synthesized object schema, or the unknown value when there are no parameters
Top

GenerateReferencedType (character, JsonObject, character, JsonObject, SwaggerSchemaTypeGeneratorParameter, ISwaggerSchemaObjectGenerator, ISwaggerToAblClassNameProvider, character, ILoggingStream, CharacterList, CharacterList)

Purpose: Generates the response / request body type at a schema path of an operation
Notes: Handles both a $ref schema (the referenced component is generated,
named after the $ref) and an inline object schema (generated with
the same class name the client / service references it by, obtained
from the class name provider). Anything else (arrays, primitives)
and missing paths are skipped silently. Each distinct type is
generated only once.

Parameters:
pcOperationPointer CHARACTER
The slash delimited operation pointer
poMethod Progress.Json.ObjectModel.JsonObject
The operation JSON object
pcSchemaPath CHARACTER
The slash delimited path to the schema (relative to the operation)
poApiSpec Progress.Json.ObjectModel.JsonObject
The API specification
poTypeParameter Consultingwerk.Studio.SwaggerToAbl.SwaggerSchemaTypeGeneratorParameter
The schema type generator parameter
poGenerator Consultingwerk.Studio.SwaggerToAbl.ISwaggerSchemaObjectGenerator
The schema object generator
poClassNameProvider Consultingwerk.Studio.SwaggerToAbl.ISwaggerToAblClassNameProvider
The class name provider (for inline schemas)
pcDoneRefs CHARACTER
INPUT-OUTPUT CHR(1) delimited list of types already generated
poLoggingStream Consultingwerk.Util.LoggingStream.ILoggingStream
The Logging Stream
poClassNames Consultingwerk.Framework.Collections.CharacterList
The list of generated class names
poGeneratedFiles Consultingwerk.Framework.Collections.CharacterList
The List of generated file names (appended to)
Top

GenerateReferencedTypes (character[], JsonObject, ISwaggerBasePackageParameter, ILoggingStream, CharacterList)

Purpose: Generates the ABL types referenced by a set of operations
Notes: Generates the response (200 application/json) and request body
types referenced through a $ref by the selected operations, into
the base package of the client / service. This makes the Generate
Client and Generate Service actions self contained - the types
for parameters and responses are generated if needed.

Parameters:
pcOperations CHARACTER
The operations the client / service is generated for
poApiSpec Progress.Json.ObjectModel.JsonObject
The API specification
poGeneratorParameter Consultingwerk.Studio.SwaggerToAbl.ISwaggerBasePackageParameter
The client / service generator parameter (carries the base package)
poLoggingStream Consultingwerk.Util.LoggingStream.ILoggingStream
The Logging Stream
poGeneratedFiles Consultingwerk.Framework.Collections.CharacterList
The List of generated file names (appended to)
Top

GenerateRequestTypes (character[], JsonObject, ISwaggerBasePackageParameter, ILoggingStream, CharacterList)

Purpose: Generates the request parameter object types for operations that declare parameters but no request body
Notes: Each such operation gets a generated ParameterObject named
<OperationName>Request, carrying the operation's parameters as
properties - used as the single input parameter of the generated
Business Task @RestMethod method.

Parameters:
pcOperations CHARACTER
The operations the service is generated for
poApiSpec Progress.Json.ObjectModel.JsonObject
The API specification
poGeneratorParameter Consultingwerk.Studio.SwaggerToAbl.ISwaggerBasePackageParameter
The service generator parameter (carries the base package)
poLoggingStream Consultingwerk.Util.LoggingStream.ILoggingStream
The Logging Stream
poGeneratedFiles Consultingwerk.Framework.Collections.CharacterList
The List of generated file names (appended to)
Top

CHARACTER GetClientAuthScheme (JsonObject, character[])

Purpose: Determines the authentication scheme to generate for a client
Notes: Resolves the scheme from the first operation's security, then the
document level security, then the first defined securityScheme.
Returns a CHR(1) delimited descriptor "kind|name|in" where kind is
one of apikey, bearer, basic or none; name and in only apply to
apiKey schemes.

Parameters:
poApiSpec Progress.Json.ObjectModel.JsonObject
The API specification
pcOperations CHARACTER
The operations the client is generated for
Returns CHARACTER
The CHR(1) delimited authentication descriptor
Top

Progress.Json.ObjectModel.JsonObject GetJsonObject (JsonObject, character)

Purpose: Returns the properties JsonObject
Notes: Raises a qualified error message when properties is not available

Parameters:
poSchema Progress.Json.ObjectModel.JsonObject
The JSON Object
pcPropertyName CHARACTER
The name of the property to return
Returns Progress.Json.ObjectModel.JsonObject
The JsonObject
Top

CHARACTER GetOperationHttpMethod (character)

Purpose: Returns the HTTP request method of a Swagger operation pointer
Notes: The HTTP method is the last entry of the slash delimited
operation pointer, e.g. "get" for
"paths/~/api~/taxrate~/GetRateByAddress/get".

Parameters:
pcOperationPointer CHARACTER
The slash delimited operation pointer
Returns CHARACTER
The HTTP request method of the operation (get, post, put, ...)
Top

CHARACTER GetOperationName (JsonObject, character)

Purpose: Returns the ABL method name for a Swagger operation
Notes: Uses the operationId when present, otherwise derives the name
from the last segment of the resource path. The result is
sanitized to a valid ABL identifier and starts with an upper
case letter.

Parameters:
poMethod Progress.Json.ObjectModel.JsonObject
The JSON Object describing the operation
pcOperationPointer CHARACTER
The slash delimited operation pointer
Returns CHARACTER
The ABL method name for the operation
Top

CHARACTER GetOperationPath (character)

Purpose: Returns the REST resource path of a Swagger operation pointer
Notes: The operation pointer is a slash delimited JSON path like
"paths/~/api~/taxrate~/GetRateByAddress/get" where the slashes
inside the path key are tilde escaped. This method returns the
decoded path key, e.g. "/api/taxrate/GetRateByAddress".

Parameters:
pcOperationPointer CHARACTER
The slash delimited operation pointer
Returns CHARACTER
The REST resource path of the operation
Top

CHARACTER GetParameterName (character, character)

Purpose: Returns the ABL parameter name for a Swagger parameter
Notes:

Parameters:
pcName CHARACTER
The Swagger parameter name
pcAblType CHARACTER
The ABL data type of the parameter
Returns CHARACTER
The prefixed, PascalCased ABL parameter name
Top

CHARACTER GetParameterPrefix (character)

Purpose: Returns the parameter name prefix for an ABL data type
Notes:

Parameters:
pcAblType CHARACTER
The ABL data type
Returns CHARACTER
The parameter name prefix (pc, pi, pde, pl, pda, pdt)
Top

Progress.Json.ObjectModel.JsonObject GetProperties (JsonObject, JsonObject)

Purpose: Returns the properties JsonObject
Notes: Raises a qualified error message when properties is not available

Parameters:
poSchema Progress.Json.ObjectModel.JsonObject
The Swagger Schema Object
poApiSpec Progress.Json.ObjectModel.JsonObject
The API specification
Returns Progress.Json.ObjectModel.JsonObject
The properties JsonObject
Top

CHARACTER InvokeTemplate (character, ClassName, character[], JsonObject, SwaggerClientGeneratorParameter, ILoggingStream)

Purpose: Invokes an active template for a client
Notes:

Parameters:
pcTemplateFile CHARACTER
The template file
poClassName Consultingwerk.ClassName
The class name
pcOperations CHARACTER
The list of operations
poApiSpec Progress.Json.ObjectModel.JsonObject
The API documentation object
poGeneratorParameter Consultingwerk.Studio.SwaggerToAbl.SwaggerClientGeneratorParameter
The Generator Parameter
poLoggingStream Consultingwerk.Util.LoggingStream.ILoggingStream
The Logging Stream
Returns CHARACTER
The generated file name
Top

CHARACTER InvokeTemplate (character, ClassName, character[], JsonObject, SwaggerServiceGeneratorParameter, ILoggingStream)

Purpose: Invokes an active template for a service (Business Task)
Notes:

Parameters:
pcTemplateFile CHARACTER
The template file
poClassName Consultingwerk.ClassName
The class name
pcOperations CHARACTER
The list of operations
poApiSpec Progress.Json.ObjectModel.JsonObject
The API documentation object
poGeneratorParameter Consultingwerk.Studio.SwaggerToAbl.SwaggerServiceGeneratorParameter
The Generator Parameter
poLoggingStream Consultingwerk.Util.LoggingStream.ILoggingStream
The Logging Stream
Returns CHARACTER
The generated file name
Top

CHARACTER InvokeTemplate (character, ClassName, JsonObject, JsonObject, SwaggerSchemaTypeGeneratorParameter, ILoggingStream)

Purpose: Invokes an active template for a schema type
Notes:

Parameters:
pcTemplateFile CHARACTER
The template file
poClassName Consultingwerk.ClassName
The class name
poSchema Progress.Json.ObjectModel.JsonObject
The Swagger Schema Object
poApiSpec Progress.Json.ObjectModel.JsonObject
The API documentation object
poGeneratorParameter Consultingwerk.Studio.SwaggerToAbl.SwaggerSchemaTypeGeneratorParameter
The Generator Parameter
poLoggingStream Consultingwerk.Util.LoggingStream.ILoggingStream
The Logging Stream
Returns CHARACTER
The generated file name
Top

Progress.Json.ObjectModel.JsonObject ResolveRef (JsonObject, JsonObject)

Purpose: Resolves as $ref
Notes:

Parameters:
poApiSpec Progress.Json.ObjectModel.JsonObject
The API documentation object
poProperty Progress.Json.ObjectModel.JsonObject
The JSON Object describing the current property
Returns Progress.Json.ObjectModel.JsonObject
The resolved $ref
Top

CHARACTER ShortTypeName (character, character)

Purpose: Returns the short class name when the type is in the given package, otherwise the type name unchanged
Notes: Used so that generated method signatures rely on the class' own
USING statement (short names) for types in the same package, while
keeping fully qualified names for types from other packages.

Parameters:
pcTypeName CHARACTER
The (fully qualified) type name
pcOwnPackage CHARACTER
The package of the generated class
Returns CHARACTER
The short class name when the type package equals pcOwnPackage, otherwise pcTypeName
Top

CHARACTER SimpleAblType (character, character)

Purpose: Returns the ABL data type for a Swagger parameter type/format
Notes: A non-throwing variant used for operation parameters; unknown
types fall back to CHARACTER

Parameters:
pcType CHARACTER
The Swagger type
pcFormat CHARACTER
The Swagger format
Returns CHARACTER
The ABL data type
Top

CHARACTER ToAblDataType (character, character)

Purpose: Returns the ABL DataType based on type and format
Notes:

Parameters:
pcType CHARACTER
The type of the property
pcFormat CHARACTER
The format of the property
Returns CHARACTER
The ABL DataType
Top

CHARACTER ToAblDataType (character, character, character, JsonObject, JsonObject, ISwaggerBasePackageParameter)

Purpose: Returns the ABL DataType for the given properties of the JSON schema object
Notes:

Parameters:
pcBasePackage CHARACTER
The base package for the API
pcClassName CHARACTER
The name of the referencing class
pcPropertyName CHARACTER
The name of the property
poSchema Progress.Json.ObjectModel.JsonObject
The JSON schema object
poApiSpec Progress.Json.ObjectModel.JsonObject
The API documentation object
poGeneratorParameter Consultingwerk.Studio.SwaggerToAbl.ISwaggerBasePackageParameter
The Generator Parameter (ISwaggerBasePackageParameter)
Returns CHARACTER
The ABL data type


©2006-2026 Consultingwerk Ltd.         info@consultingwerk.de         http://www.consultingwerk.de       06.07.2026 14:37:51