Aspectj écrase un argument d'une méthode
Je suis l'élaboration d'un aspect qui vérifie les arguments des méthodes de définition et remplace les cordes à vide avec la valeur null. C'est mon état à ce jour:
@Before("execution(* de.foo.entity.*.set*(..)) && args(java.lang.String)")
public void check(final JoinPoint jp) {
LOGGER.debug(jp.getSignature().toLongString());
Object[] args = jp.getArgs();
for (int i = 0; i < args.length; i++) {
if (args[i] instanceof String && ((String) args[i]).isEmpty()) {
args[i] = null;
}
}
}
Malheureusement le remplacer déclaration args[i] = null;
ne fonctionnent maintenant! Faire que quelqu'un sait comment dois-je le remplacer?
Acclamations,
Kevin
source d'informationauteur eglobetrotter
Vous devez vous connecter pour publier un commentaire.
Je crois que vous avez à mettre en œuvre autour d'un conseil, au lieu d'un avant conseils.
Parce que vous pouvez utiliser procéder avec vos nouveaux arguments:
@Ralph vous avez tout à fait raison, la différence est que, avec un autour de conseils, je suis capable de passer les arguments à l'excecution! Cela fonctionne bien maintenant!
Hey les gens que pensez-vous des performances?