Type Manager Metamodel

The Type Manager allows different model base types to be abstractly associated with implementations. This is also useful to extend or override default implementations. For instance, when using a Spark-based implementation, you might want to substitute a specific domain object for a generic Row object. The Type Manager provides a way to register that domain type and then refer to it in other places within the Solution Baseline metamodel. It also provides the mechanism for registering different simple types (e.g., stringjava.util.String) for Record and Dictionary use. For more information about data records, see the Semantic Data page.

Type Manager Metamodel Specifications

Each metadata instance should be placed in a file named types.json that lives within the following directory structure (to initially create this structure, please see Creating a Project):

<project-name>/<project-name>-pipeline-models/src/main/resources/types.json

For example:

test-project/test-project-pipeline-models/src/main/resources/types.json

Default implementation mapping can be found in the aiSSEMBLE/foundation/foundation-mda repo.

Type Manager Root Element Options

The following options are available on the root type manager element:

Type Manager Root Location
{
  ...
}
Table 1. Type Manager Root Metamodel Options
Element Name Required? Default Use

name

Yes

None

Defines the name by which this type can be referenced elsewhere.

fullyQualifiedImplementation

Yes

None

The fully qualified name of the type (e.g., java.lang.String).

shortImplementation

Yes

None

The short name of the type (e.g., String)