2015-08-05 9 views
5

Was ist die CodeSignatur in aspectJ? Ich habe versucht, JavaDocs zu finden, aber nichts nützliches gefunden. Zum Beispiel, dein ist die folgende Signatur ein CodeSignature ist:CodeSignaturaspektJ

pointcut log() : execution(@Log * *(..)); 

before() : log() { 
    String[] names = ((CodeSignature) thisJoinPoint.getSignature()).getParameterNames(); 
} 

Gibt es eine JoinPoint so dass thisJoinPoint.getSignature() das kein CodeSignature ist?

Antwort

2

CodeSignature stellt einen Codeblock dar, der von einem Verknüpfungspunkt erfasst wird. Es kann eine Methode, Konstruktor, Initialisierer (statisch oder nicht-statisch) oder eine Empfehlung sein. Es gibt Join-Punkte, bei denen die Signatur keine CodeSignature ist. Zum Beispiel Join-Punkte für Feld und Feld erhalten, wo die Signatur ist FieldSignature und Join-Punkt für eine Fangklausel hat eine CatchClauseSignature.

Signaturen ermöglichen den Zugriff auf Informationen darüber, welcher Join-Punkt aufgerufen wird.