A dynamic runtime extent (Dynamic Runtime Provider) is a programmable provider whose content is generated via a class rather than a database.
The class itself must be loaded into the DatenMeister via the existing plugin infrastructure.
Configuration
The provider is configured via DynamicRuntimeLoaderConfig and contains the following properties:
| Name | Description |
|---|---|
name |
Name of the provider |
extentUri |
URI of the extent to be loaded |
workspaceId |
ID of the workspace into which the corresponding extent is loaded |
runtimeClass |
Full path (FullName) to the class containing the elements |
configuration |
Configuration that is then passed to this class. The type of this configuration is not specifically defined. |
Implementation
The runtime provider is made available via an interface IDynamicRuntimeProvider. This contains the following method:
IEnumerable<IProviderObject> Get(IElement configuration)
Here, the parameter configuration contains the configuration parameter defined in the LoaderConfig via configuration. This value can also be null.
The runtime provider returns a list of provider elements upon request. For simplicity, these can be of type InMemoryProviderObject.
Example Implementations
Modules.DynamicRuntimeProvider.NumberProvider
Takes an instance of NumberProviderSettings and returns a listing of numbers in binary, octal, decimal, and hexadecimal.
The properties of the settings:
| Name | Description |
|---|---|
start |
First value of the list. Default value is 0 |
end |
Last value of the list. Default value is 100 |