小编Ada*_*dam的帖子

继续使用AspectJ的变量参数

我正在尝试使用AspectJ规范化应用程序中的URI.我正在捕获使用此代码传递给java.net.URI参数的方法的每个调用:

Object around() : execution(* *(..,java.net.URI,..)) {
    for ( Object arg : thisJoinPoint.getArgs() ) {
        if ( arg instanceof URI ) {
            // normalize
        }
    }
    return proceed();
}
Run Code Online (Sandbox Code Playgroud)

但是,由于URI是不可变的,我无法将规范化值交换到现有对象中.我需要的是调用继续使用新的,规范化的URI对象(并且可能传递其他参数不变).但是,继续调用只允许我传递由连接点收集的参数.有没有办法为可变数量的参数实现这一点(主要是对任何URI参数感兴趣,但愿意收集并传递所有参数)?

java aspectj

9
推荐指数
1
解决办法
7176
查看次数

标签 统计

aspectj ×1

java ×1