我想对某些方法调用应用注释,以便我可以告诉 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(); } }
添加回答
举报
0/150
提交
取消