Java - Utiliser des annotations et des méthodes d'interception?
-
28-10-2019 - |
Question
Y at-il un moyen simple de méthodes d'interception en java. Je dois ajouter une annotation aux méthodes nécessaires afin qu'un morceau de logique est appelée avant de passer par la méthode.
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
}
EDIT:
La bibliothèque Guice recommandée pour les applications Android ne contient pas AOP. Est-il possible d'y parvenir en utilisant la réflexion sans ajouter de bibliothèques?
La solution
Guice fournit la manière facile de mettre en œuvre des annotations. Check this out.
Autres conseils
sid Malani dit Google Guice est grand pour cela. En général, vous voulez lire sur ... Il y a une belle outil appelé JMangler qui peuvent être utiles aussi bien
Vous pouvez utiliser la réflexion si vous avez codé pour les interfaces à travers Dynamic procurations proxies dynamiques.
Je doute que cela peut se faire bien sans libs 3ème partie.
Il y a une bibliothèque appelée cglib, qui est capable de telles choses.
Fondamentalement, il va créer une sous-classe de la classe interceptées lors de l'exécution. Vous serez en mesure de méthodes « override » en mettant en œuvre un InvocationHandler, qui agira comme mandataire lorsque l'une des méthodes de la superclasse appelée.