I don't actually know the classes in my aspect
Учитывая то, что вы говорите, и тот факт, что @Inherited
не может быть использован ни для чего иного, кроме классов, вы неявно надеетесь, что AspectJ
выполнит работу по выяснению, является ли метод (или его переопределенные реализации)и декларации) аннотируется.Это намного больше, чем заявлено AspectJ.
Если вашей конечной целью является защита некоторого кода, то все методы, которые должны быть защищены, должны быть должным образом аннотированы в первую очередь.Таким образом, ответ на ваш вопрос - нет, это невозможно в этом контексте, особенно если вы ничего не знаете о классах.
Однако может возникнуть обходной путь, если у вас есть доступ к процессору аннотаций.В этом случае вы можете выбрать все аннотации @Secure и пройтись по коду с отражением, чтобы сгенерировать код AspectJ во время компиляции, который бы правильно захватывал все экземпляры метода.Не легко, но возможно.