我想对某些方法调用应用注释,以便我可以告诉 aspectj 修改这些调用的执行。
public interface Door {
void open() throws DoorException;
void close() throws DoorException;
}
public class Ferrari {
@Inject @Lightweight Door door;
public void drive() {
open();
close();
open();
}
}
在这种情况下,我希望所有打开/关闭操作以相同的方式有效地包装,但是如果我希望一个行为不同怎么办?
我想做类似的事情:
public class Ferrari {
@Inject Door door;
public void drive() {
door.open();
door.close();
@Slowly door.open();
}
}
我意识到我不能在那里放置注释,但同样的,我不想破坏开放签名来传递可选的元数据。
做这个的最好方式是什么?
我可以这样做:
public class Ferrari {
@Inject Door door;
public void drive() {
door.open();
door.close();
((@Slowly Door)door).open();
}
}
喵喔喔
杨__羊羊
相关分类