MethodQuery

方法查询条件。

用在 findMethodfindMethodOrNullfindAllMethods 的查询块里。 多个条件会同时生效,全部满足才算匹配。

val method = clazz.findMethod {
name("foo")
paramCount(2)
returnType(String::class.java)
}

Functions

Link copied to clipboard
fun cacheKey(key: String)

为当前查询指定主动缓存 key。

Link copied to clipboard

findOnlyClass 的旧名称。

Link copied to clipboard
fun exceptionTypes(vararg types: Class<*>)

限定声明的异常类型。

Link copied to clipboard
fun filter(predicate: Predicate<Method>)

添加 Java Predicate 条件。

fun filter(condition: MethodCondition)

添加自定义 Kotlin 条件。

Link copied to clipboard

查找当前类和全部父类。

Link copied to clipboard

只在当前类中查找。

Link copied to clipboard

要求当前非批量查询只能命中一个结果。

Link copied to clipboard

限定形参在 Method.getGenericParameterTypes 层面的类型,按 GenericTypeMatcher 逐位匹配。

Link copied to clipboard

限定 Method.getGenericReturnType,用于区分擦除前的泛型返回类型(例如声明为 T 的方法)。 此条件禁用查询缓存。

Link copied to clipboard
fun hasParams()

限定为有参数方法。

Link copied to clipboard

findAndSuper 的旧名称。

Link copied to clipboard

限定为 abstract 方法。

Link copied to clipboard
fun isBridge()

限定为 bridge 方法。

Link copied to clipboard
fun isDefault()

限定为 interface default 方法。

Link copied to clipboard
fun isFinal()

限定为 final 方法。

Link copied to clipboard
fun isNative()

限定为 native 方法。

Link copied to clipboard
fun isPrivate()

限定为 private 方法。

Link copied to clipboard

限定为 protected 方法。

Link copied to clipboard
fun isPublic()

限定为 public 方法。

Link copied to clipboard
fun isStatic()

限定为 static 方法。

fun isStatic(value: Boolean)

限定是否为 static 方法。

Link copied to clipboard

限定为 synchronized 方法。

Link copied to clipboard

限定为 synthetic 方法。

Link copied to clipboard
fun isVarArgs()

限定为可变参数方法。

Link copied to clipboard
fun name(value: String)

限定方法名。

Link copied to clipboard
fun nameContains(value: String, ignoreCase: Boolean = false)

限定方法名包含指定文本。

Link copied to clipboard
fun nameEndsWith(value: String, ignoreCase: Boolean = false)

限定方法名以指定文本结尾。

Link copied to clipboard
fun nameStartsWith(value: String, ignoreCase: Boolean = false)

限定方法名以指定文本开头。

Link copied to clipboard
fun noParams()

限定为无参数方法。

Link copied to clipboard

限定为非 abstract 方法。

Link copied to clipboard
fun notBridge()

限定为非 bridge 方法。

Link copied to clipboard

限定为非 interface default 方法。

Link copied to clipboard
fun notFinal()

限定为非 final 方法。

Link copied to clipboard
fun notNative()

限定为非 native 方法。

Link copied to clipboard

限定为非 private 方法。

Link copied to clipboard

限定为非 protected 方法。

Link copied to clipboard
fun notPublic()

限定为非 public 方法。

Link copied to clipboard
fun notStatic()

限定为非 static 方法。

Link copied to clipboard

限定为非 synchronized 方法。

Link copied to clipboard

限定为非 synthetic 方法。

Link copied to clipboard

限定为非可变参数方法。

Link copied to clipboard
fun paramCount(value: Int)

限定参数数量。

Link copied to clipboard

限定参数数量范围。

Link copied to clipboard
fun parameterTypes(vararg types: Class<*>)

限定完整参数类型。

Link copied to clipboard
fun parameterTypesAssignableFrom(vararg types: Class<*>)

限定方法参数能接收指定类型。

Link copied to clipboard
fun parameterTypesVague(vararg types: Any)

限定参数类型,允许其中某些位置用 VagueType 占位跳过精确匹配。

Link copied to clipboard
fun params(vararg types: Class<*>)

parameterTypes 的短名称。

Link copied to clipboard
fun paramsAssignableFrom(vararg types: Class<*>)
Link copied to clipboard
fun returnType(value: Class<*>)

限定返回值类型。

Link copied to clipboard

限定返回值类型是 value 本身或子类。

Link copied to clipboard

限定返回值为 void。