Вопрос

Есть ли простой способ перехватить методы в Java. Мне нужно добавить аннотацию к необходимым методам, чтобы привлечь кусок логики, прежде чем пройти метод.

public void verifyActivity() {
   // Asset if you are on a wrong page
}

@VerifyActivity
public void testLogin() {
   // Login for my automate test
}

@VerifyActivity
public void testSomethingElse() {
   // Test some other UI Automation stuff
}

РЕДАКТИРОВАТЬ:

Рекомендуемая библиотека Guice для приложений Android не содержит AOP. Можно ли достичь этого, используя отражение без добавления библиотек?

Это было полезно?

Решение

Guice предоставляет простой способ реализации аннотаций. Проверь это.

http://code.google.com/p/google-guice/wiki/aop

http://code.google.com/p/google-guice/

Другие советы

Как сказал Сид Малани Google Guice отлично подходит для этого. В целом вы хотите прочитать о Аспективные учебники по программированию ... есть хороший инструмент под названием Jmangler это также может быть полезно

Вы можете использовать отражение, если вы кодировались для интерфейсов через динамические прокси.

Я сомневаюсь, что это может быть хорошо сделано без каких -либо сторонних либеров.

Существует библиотека под названием Cglib, которая способна на такие вещи.

По сути, это создаст подкласс перехваченного класса во время выполнения. Вы сможете «переопределить» методы, внедрив vlocationhandler, который будет действовать как прокси, когда любой из методов суперкласса будет вызван.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top