FrontendExtensionConfig

data class FrontendExtensionConfig(val frontendExtensionName: String, val implementationModule: ModuleReference, val subPackageName: String? = null, val dependencies: IviServiceDependencies = IviServiceDependencies())

Defines a reference to a frontend extension implementation.

Frontend extensions are independent pieces of functionality or information that can extend the functionality that a frontend implementation offers.

Parameters

frontendExtensionName

The name of the property that holds the frontend extension instance.

The property name must to be formatted in camelCase and must end with the FrontendExtension suffix. The FrontendExtension suffix is mandatory to allow the reference to the property name to be easier to find in the code base.

The property name needs to match a property with the same name that is an instance of a class that implements the com.tomtom.ivi.platform.frontend.api.common.frontend.FrontendExtension interface.

implementationModule

The module that contains the property that is an instance of a class that implements the com.tomtom.ivi.platform.frontend.api.common.frontend.FrontendExtension interface. See frontendExtensionName for details.

The package name of the property is obtained from this ModuleReference. If the property resides in a sub package within this module, the sub package can be provided through subPackageName. This subPackageName is appended to the package name of the module, with a period in between.

subPackageName

Optional sub package. If not null, this value is appended to the ModuleReference.packageName of the implementationModule property with a period in between.

dependencies

IVI service dependencies of the frontend extension implementation.

A frontend extension implementation can require other IVI service interfaces to be registered. This allows misconfiguration to be detected at build time.

Constructors

Link copied to clipboard
constructor(frontendExtensionName: String, implementationModule: ModuleReference, subPackageName: String? = null, dependencies: IviServiceDependencies = IviServiceDependencies())

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val subPackageName: String? = null

Functions

Link copied to clipboard
fun copyAndAdd(dependencies: IviServiceDependencies = IviServiceDependencies()): FrontendExtensionConfig

Copies this FrontendExtensionConfig, adds the given dependencies to the copied instance, and returns it.