Kotlin
Anotaciones
Buscar..
Declarar una anotación
Las anotaciones son medios para adjuntar metadatos al código. Para declarar una anotación, coloque el modificador de anotación delante de una clase:
annotation class Strippable
Las anotaciones pueden tener meta-anotaciones:
@Target(AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.EXPRESSION)
annotation class Strippable
Las anotaciones, como otras clases, pueden tener constructores:
annotation class Strippable(val importanceValue: Int)
Pero a diferencia de otras clases, se limita a los siguientes tipos:
- tipos que corresponden a los tipos primitivos de Java (Int, Long, etc.);
- instrumentos de cuerda
- clases (Foo :: clase)
- enums
- otras anotaciones
- matrices de los tipos enumerados anteriormente
Meta-anotaciones
Al declarar una anotación, se puede incluir metainformación utilizando las siguientes meta-anotaciones:
@Target
: especifica los posibles tipos de elementos que se pueden anotar con la anotación (clases, funciones, propiedades, expresiones, etc.)@Retention
especifica si la anotación se almacena en los archivos de clase compilados y si es visible a través de la reflexión en tiempo de ejecución (de forma predeterminada, ambos son verdaderos).@Repeatable
permite usar la misma anotación en un solo elemento varias veces.@MustBeDocumented
especifica que la anotación es parte de la API pública y debe incluirse en la clase o firma de método que se muestra en la documentación de la API generada.
Ejemplo:
@Target(AnnotationTarget.CLASS, AnnotationTarget.FUNCTION,
AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.EXPRESSION)
@Retention(AnnotationRetention.SOURCE)
@MustBeDocumented
annotation class Fancy