`
kingsword
  • 浏览: 7515 次
社区版块
存档分类
最新评论

Kotlin Annotation

 
阅读更多
annotation class Plant

@Plant class Tree {
    fun fertilize() {}

    @get: OnGet
    val color: String = "green"

    @set: OnSet
    var height: Int = 5
}

@Target(AnnotationTarget.PROPERTY_GETTER)
annotation class OnGet

@Target(AnnotationTarget.PROPERTY_SETTER)
annotation class OnSet

fun main() {
    val classObj = Tree::class
    for (annotation in classObj.annotations) {
        println(annotation.annotationClass.simpleName)
    }

    classObj.findAnnotation<Plant>()?.apply {
        println("Plant annotation is found on Tree class")
    }

    classObj.declaredMemberProperties.forEach {
        println("Property Name = ${it.name}, annotation = ${it.annotations}")
        println("Property Name = ${it.name}, getter = ${it.getter}, annotation = ${it.getter.annotations}")
    }
}

 

 

分享到:
评论

相关推荐

    MpApt,Kotlin Native/JS/JVM Annotation Processor library.zip

    MpApt - Kotlin (Native/JS/JVM) Annotation Processor library I wrote an annotation processing libary that can detect annotations in Kotlin Native/JS and Jvm projects, because Kapt is only ...

    Java 和 Kotlin的注解以及切面实现方式

    @MyAnnotation("Hello, Kotlin Annotation!") fun myMethod() { // ... } } ``` ### 切面编程(AOP) 切面编程是将关注点分离的一种编程范式,将横切关注点(如日志、事务管理)从核心业务逻辑中解耦出来。...

    Kotlin官方中文文档(1.1.3-2)

    文档还提到了编译器插件、Kapt(Kotlin Annotation Processing Tool)、Gradle、Maven和Ant的使用,这些工具和插件可以用来处理Kotlin项目中的构建和依赖管理。 Kotlin与OSGi的集成让开发者能够在OSGi环境下使用...

    Kotlin中文开发文档

    - **使用Kapt**:Kotlin Annotation Processing Tool,用于处理注解处理器。 - **使用Gradle/Maven/Ant**:指导如何使用这些构建工具来管理Kotlin项目。 - **Kotlin与OSGi**:探讨了Kotlin在OSGi环境下的使用方式。 ...

    kotlin文档

    - 使用Kotlin注解处理工具(Using Kotlin annotation processing tool) - 使用Gradle(Using Gradle) - 使用Maven(Using Maven) - 使用Ant(Using Ant) - Kotlin与OSGi(Kotlin and OSGi) - 编译器插件...

    Kotlin官方参考文档中文版

    - **使用Kapt**:讲解了如何利用Kotlin Annotation Processing Tool (KAPT) 来处理注解。 - **使用Gradle/Maven/Ant**:介绍了如何将Kotlin集成到不同的构建系统中。 - **Kotlin与OSGi**:讨论了Kotlin如何与OSGi...

    kotlin-lombok-integration:如何在混合KtJava项目中将Kotlin与Lombok一起使用

    Kotlin + Java / Lombok构建演示 在使用Kotlin已经引起了很多人的问题,用在计算器上与其他地方的一些问题在现有的Java项目中使用Kotlin(见 , , , , , , ) 查看它,有一些建议可以使用Kapt和/或Delombok,...

    Annotation和Kotlin编译器插件,用于强制when语句穷举-Android开发

    Annotation和Kotlin编译器插件,用于强制执行when语句是穷举性的。Annotation和Kotlin编译器插件,用于强制执行when语句是穷举性的。 枚举类RouletteColor {红色,黑色,绿色} fun printColor(color:RouletteColor...

    kotlin-reference-chinese

    - **使用Kapt**:Kapt是Kotlin Annotation Processing Tool的缩写,用于处理注解。 - **使用Gradle**:Gradle是一种基于Groovy的构建工具,广泛应用于Kotlin项目。 - **使用Maven**:Maven是另一种流行的构建工具,...

    kotlin参考文档

    - **使用Kapt**:Kotlin Annotation Processing Tool,用于处理注解。 - **使用Gradle/Maven/Ant**:这些构建工具支持Kotlin项目构建和依赖管理。 - **Kotlin与OSGi**:Kotlin可以与OSGi框架一起使用,支持模块化...

    Kotlin基础知识

    annotation class MyAnnotation @MyAnnotation class MyClass ``` #### 反射 Kotlin提供了一套强大的反射API,可以用来查询和操作程序的结构。 ```kotlin val myClass = MyClass::class val myMethod = myClass....

    kotlin安装包

    在IT行业中,Kotlin是一种流行的、面向现代应用的编程语言,尤其在Android开发领域得到了广泛的应用。本教程将详述如何使用Eclipse IDE手动安装Kotlin支持,以便于开发者能够利用Kotlin的强大功能进行编码。 首先,...

    Kotlin1.3.72.rar

    标题中的"Kotlin1.3.72.rar"指的是Kotlin编程语言的1.3.72版本的压缩包文件。Kotlin是一种现代的、面向对象的、静态类型的编程语言,由JetBrains公司开发,旨在提高开发效率并降低代码出错的可能性。1.3.72是Kotlin...

    annotation.kotlin_builtins

    annotation.kotlin_builtins

    Gradle中如何自定义实现Java注解处理器

    请注意,`apt`插件已经过时,对于新版本的Gradle,推荐使用`kapt`(Kotlin Annotation Processing Tool),它提供了更好的错误报告和与Kotlin的集成。 现在,当我们在源代码中使用`@MyAnnotation`注解并执行Gradle...

    手写ButterKnife

    我们可以使用Java的注解处理器API(Annotation Processing Tool,APT)或Kotlin的Kotlin编译器插件(Kotlin Annotation Processing)来实现。处理器需要找出所有`@BindView`注解,并为每个注解生成对应的findViewById...

    Android-Android中编译时注解实际运行Demo仿照ButterKnife来写的

    在Android Studio中,这通常是在`build.gradle`文件中添加对`kapt`(Kotlin Annotation Processing Tool)或`annotationProcessor`依赖的引用。 6. **运行时行为**:虽然注解处理器在编译时生成了辅助代码,但这些...

    Kotlin 的注解类详解及实例

    Kotlin 的注解类详解及实例是 Kotlin programming language 中的一种 metadata 附加方式,通过使用 annotation 来附加元数据到代码中。下面是 Kotlin 注解类的详解及实例。 声明注解 要声明注解,请将 `annotation...

    kotlin1.2.7相关包

    kotlin-android-extensions-1.2.71.jar kotlin-annotation-processing-gradle-1.2.71.jar kotlin-compiler-embeddable-1.2.71.jar kotlin-daemon-client-1.2.71.jar kotlin-reflect-1.2.71.jar

Global site tag (gtag.js) - Google Analytics