次のコードを検討してください。
class DatabaseCommands {
@Privilege(ADMIN)
public void delete(Something thingToDelete, User currentUser) {
/* ... */
}
}
現在、このメソッドにはアクセス チェックが組み込まれてcurrentUser
おり、データベース コマンドを実行するために必要な権限があるかどうかを確認します (権限がない場合は例外をスローします)。
新しいメソッドを作成するには、AspectJ ファイルに何を追加する必要がありますか?
public boolean deleteAllowed(Something thingToDelete, User currentUser)
同じアクセス チェックを使用してクラスに追加されますが、コマンドは実行されませんか?
この使用例は、getter/setter をフィールドに追加する場合と似ているようです。
class Foo {
@Getter @Setter
String name = ""
}