Top Method Summary
Options Name Purpose
Progress.Json.ObjectModel.JsonArray CloneStringArray (JsonArray) Clones a JsonArray of character values
CHARACTER DisambiguateName (character, character, character) Assigns a unique class name for the given candidate
EmitAll (JsonObject, SwaggerSchemaTypeGeneratorParameter, ILoggingStream, CharacterList, CharacterList) Emits all planned models by invoking the active templates
CHARACTER Fingerprint (JsonObject) Computes a canonical structural fingerprint of a properties object
Generate (JsonObject, character, JsonObject, SwaggerSchemaTypeGeneratorParameter, ILoggingStream, CharacterList, CharacterList) Plans and generates all ABL types for the given root schema
Progress.Json.ObjectModel.JsonObject MergeAllOf (JsonArray, JsonObject) Merges the properties of an allOf composition into one schema
CHARACTER NormalizeClassName (character) Normalizes a candidate name into a valid PascalCase ABL class name
CHARACTER ProcessEnum (JsonObject, character, character) Plans an enum schema and returns its assigned class name
CHARACTER ProcessRef (character, JsonObject, character, character, JsonObject) Plans an object schema reached through a $ref, guarding against cycles
CHARACTER ProcessSchema (JsonObject, character, character, JsonObject) Plans a single object schema and returns its assigned class name
CHARACTER ResolvePropertyType (JsonObject, character, character, JsonObject) Resolves the ABL data type for a single property


Method Detail
Top

Progress.Json.ObjectModel.JsonArray CloneStringArray (JsonArray)

Purpose: Clones a JsonArray of character values
Notes:

Parameters:
poArray Progress.Json.ObjectModel.JsonArray
The source JsonArray
Returns Progress.Json.ObjectModel.JsonArray
A new JsonArray with the same character entries
Top

CHARACTER DisambiguateName (character, character, character)

Purpose: Assigns a unique class name for the given candidate
Notes: On a collision with a different structure the name is qualified
with the parent name, then a numeric suffix.

Parameters:
pcCandidate CHARACTER
The preferred class name
pcParent CHARACTER
The owning class name
pcFingerprint CHARACTER
The structural fingerprint of the schema
Returns CHARACTER
A unique ABL class name in the flat package
Top

EmitAll (JsonObject, SwaggerSchemaTypeGeneratorParameter, ILoggingStream, CharacterList, CharacterList)

Purpose: Emits all planned models by invoking the active templates
Notes:

Parameters:
poApiSpec Progress.Json.ObjectModel.JsonObject
The Swagger API Specification
poGeneratorParameter Consultingwerk.Studio.SwaggerToAbl.SwaggerSchemaTypeGeneratorParameter
The Generator Parameter
poLoggingStream Consultingwerk.Util.LoggingStream.ILoggingStream
The Logging Stream
poGeneratedClassNames Consultingwerk.Framework.Collections.CharacterList
The List of generated class names
poGeneratedFiles Consultingwerk.Framework.Collections.CharacterList
The List of generated file names
Top

CHARACTER Fingerprint (JsonObject)

Purpose: Computes a canonical structural fingerprint of a properties object
Notes: The fingerprint is the sorted list of "name=ablType" entries, so
two objects with the same property names and resolved ABL types
produce the same fingerprint and are deduplicated.

Parameters:
poProperties Progress.Json.ObjectModel.JsonObject
The decorated, compact properties object
Returns CHARACTER
The fingerprint string
Top

Generate (JsonObject, character, JsonObject, SwaggerSchemaTypeGeneratorParameter, ILoggingStream, CharacterList, CharacterList)

Purpose: Plans and generates all ABL types for the given root schema
Notes: The root schema is the schema node referenced by the selected
operation / component (i.e. the node that may carry a $ref or a
title). The root class name is derived from the title, the $ref
target name or the explicitly passed name.

Parameters:
poSchema Progress.Json.ObjectModel.JsonObject
The root Swagger Schema Object (may be a $ref node)
pcRootName CHARACTER
The explicit root class name, or the unknown value to derive it
poApiSpec Progress.Json.ObjectModel.JsonObject
The Swagger API Specification
poGeneratorParameter Consultingwerk.Studio.SwaggerToAbl.SwaggerSchemaTypeGeneratorParameter
The Generator Parameter
poLoggingStream Consultingwerk.Util.LoggingStream.ILoggingStream
The Logging Stream
poGeneratedClassNames Consultingwerk.Framework.Collections.CharacterList
The List of generated class names (fully qualified)
poGeneratedFiles Consultingwerk.Framework.Collections.CharacterList
The List of generated file names
Top

Progress.Json.ObjectModel.JsonObject MergeAllOf (JsonArray, JsonObject)

Purpose: Merges the properties of an allOf composition into one schema
Notes:

Parameters:
poAllOf Progress.Json.ObjectModel.JsonArray
The allOf JsonArray
poApiSpec Progress.Json.ObjectModel.JsonObject
The Swagger API Specification
Returns Progress.Json.ObjectModel.JsonObject
A synthetic object schema combining all members
Top

CHARACTER NormalizeClassName (character)

Purpose: Normalizes a candidate name into a valid PascalCase ABL class name
Notes: Removes characters that are not letters or digits and capitalizes
the first letter (e.g. "_links" becomes "Links").

Parameters:
pcCandidate CHARACTER
The candidate name
Returns CHARACTER
The normalized class name
Top

CHARACTER ProcessEnum (JsonObject, character, character)

Purpose: Plans an enum schema and returns its assigned class name
Notes: Enums are deduplicated by their member set.

Parameters:
poSchema Progress.Json.ObjectModel.JsonObject
The enum schema object
pcCandidate CHARACTER
The preferred (short) enum class name
pcParent CHARACTER
The owning class name (for disambiguation)
Returns CHARACTER
The assigned ABL enum class name
Top

CHARACTER ProcessRef (character, JsonObject, character, character, JsonObject)

Purpose: Plans an object schema reached through a $ref, guarding against cycles
Notes:

Parameters:
pcRefPath CHARACTER
The $ref path (without leading #/)
poResolved Progress.Json.ObjectModel.JsonObject
The resolved object schema
pcCandidate CHARACTER
The preferred class name
pcParent CHARACTER
The owning class name
poApiSpec Progress.Json.ObjectModel.JsonObject
The Swagger API Specification
Returns CHARACTER
The ABL data type string for the reference target
Top

CHARACTER ProcessSchema (JsonObject, character, character, JsonObject)

Purpose: Plans a single object schema and returns its assigned class name
Notes: Recurses into the properties first (depth first) so that the
structural fingerprint of this object is computed from the final
(deduplicated) names of its nested types.

Parameters:
poSchema Progress.Json.ObjectModel.JsonObject
The resolved object schema
pcCandidate CHARACTER
The preferred (short) class name for this schema
pcParent CHARACTER
The class name of the schema referencing this one (for disambiguation)
poApiSpec Progress.Json.ObjectModel.JsonObject
The Swagger API Specification
Returns CHARACTER
The assigned ABL class name (short, in the flat package)
Top

CHARACTER ResolvePropertyType (JsonObject, character, character, JsonObject)

Purpose: Resolves the ABL data type for a single property
Notes: Recurses into nested objects, arrays and enums, planning the
corresponding ABL types as a side effect.

Parameters:
poProperty Progress.Json.ObjectModel.JsonObject
The property schema object
pcOwner CHARACTER
The class name owning this property (for nested candidate names)
pcPropertyName CHARACTER
The name of the property
poApiSpec Progress.Json.ObjectModel.JsonObject
The Swagger API Specification
Returns CHARACTER
The ABL data type string (primitive, class name or "<class> EXTENT")


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