Package com.tomtom.ivi.platform.framework.api.common.annotations

This package defines annotations used by TomTom Digital Cockpit to mark properties, functions or classes for certain use.

The IviExperimental annotation is used to expose certain functionality to clients sooner, on the condition that they accept the cost of updating their code when integrating a newer version of TomTom Digital Cockpit. The IviExperimental annotation can be used to specify that classes or methods are not guaranteed to be backward compatible. A marked class or method requires callers to also be marked with this annotation, or opt-in to use it with @OptIn(IviExperimental::class).

The IviInternal annotation is used to mark some properties and classes which are used internally by generated code and should not be used directly by a plugin. The IviInternal annotation marks TomTom Digital Cockpit API modules as internal. A marked class or method requires callers to also be marked with this annotation, or opt-in to use it with @OptIn(IviInternal::class).

Types

Link copied to clipboard
annotation class AnnotationReferenceTag

Annotation for annotations that are used as a reference tag for annotations.

Link copied to clipboard
annotation class AssumeOptInAlsoOptsInTo(val tagAnnotations: KClass<out Annotation>)

Indicates that a RequiresOptIn annotation assumes all usages of the API marked with the annotation, also opt in all RequiresOptIn annotations that are tagged with the tagAnnotations.

Link copied to clipboard

This annotation marks TomTom Digital Cockpit API modules that are experimental. A marked class or method requires callers to also be marked with this annotation, or to opt-in to using it with @OptIn(IviExperimental::class).

Link copied to clipboard
enum IviExperimentalReason : Enum<IviExperimentalReason>

Defines a reason to refine why a public API is marked as an experimental API.

Link copied to clipboard
annotation class IviExperimentalTag
Link copied to clipboard

This annotation marks TomTom Digital Cockpit API modules as internal. A marked class or method requires callers to also be marked with this annotation, or opt-in to using it with @OptIn(IviInternal::class).