All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.flyjingfish.android_aop_annotation.anno.AndroidAopMatchClassMethod.kt Maven / Gradle / Ivy

package com.flyjingfish.android_aop_annotation.anno

import com.flyjingfish.android_aop_annotation.enums.MatchType
import com.flyjingfish.android_aop_annotation.base.MatchClassMethod


/**
 * 定义匹配类及方法切面的注解,使用这个注解的类需要实现 [MatchClassMethod] 接口,并且这个类也是处理切面的类
 *  [wiki 文档使用说明](https://github.com/FlyJingFish/AndroidAOP/wiki/@AndroidAopMatchClassMethod)
 */
@Target(AnnotationTarget.CLASS)
@Retention(AnnotationRetention.SOURCE)
annotation class AndroidAopMatchClassMethod(
    /**
     * @return 目标类名(包含包名)
     */
    val targetClassName: String,
    /**
     * @return 目标类中的方法名数组
     */
    val methodName: Array,
    /**
     *
     * @return 返回匹配类型 [MatchType]
     */
    val type: MatchType = MatchType.EXTENDS,
    /**
     *
     * @return 排除继承中的类名数组(包含包名)
     */
    val excludeClasses: Array = [],
    /**
     *
     * @return 如果子类中没有匹配的方法则重写父类的方法,targetClassName 不可以包含 * ,methodName 不可以定义 [ "*" ],并且方法不能是private 、final修饰的才可以,重写所在类不可以是接口
     */
    val overrideMethod: Boolean = false
)




© 2015 - 2024 Weber Informatics LLC | Privacy Policy