AnnotationRetention

Platform and version requirements: JVM (1.0), JS (1.1), Native (1.3)
enum class AnnotationRetention

Contains the list of possible annotation's retentions.

Determines how an annotation is stored in binary output.

Enum Values

Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

SOURCE

Annotation isn't stored in binary output

Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

BINARY

Annotation is stored in binary output, but invisible for reflection

Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

RUNTIME

Annotation is stored in binary output and visible for reflection (default retention)

Extension Functions

Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

coerceAtLeast

Ensures that this value is not less than the specified minimumValue.

fun <T : Comparable<T>> T.coerceAtLeast(minimumValue: T): T
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

coerceAtMost

Ensures that this value is not greater than the specified maximumValue.

fun <T : Comparable<T>> T.coerceAtMost(maximumValue: T): T
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

coerceIn

Ensures that this value lies in the specified range minimumValue..maximumValue.

fun <T : Comparable<T>> T.coerceIn(
    minimumValue: T?, 
    maximumValue: T?
): T

Ensures that this value lies in the specified range.

fun <T : Comparable<T>> T.coerceIn(
    range: ClosedFloatingPointRange<T>
): T
fun <T : Comparable<T>> T.coerceIn(range: ClosedRange<T>): T
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

rangeTo

Creates a range from this Comparable value to the specified that value.

operator fun <T : Comparable<T>> T.rangeTo(
    that: T
): ClosedRange<T>

Inheritors

Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

BINARY

Annotation is stored in binary output, but invisible for reflection

Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

RUNTIME

Annotation is stored in binary output and visible for reflection (default retention)

Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

SOURCE

Annotation isn't stored in binary output

© 2010–2020 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.annotation/-annotation-retention/index.html