2015-08-05 16 views
5

Che cos'è la firma del codice in aspectJ? Ho provato a trovare JavaDocs ma non ho trovato nulla di utile. Per esempio, la tua è la seguente firma è un CodeSignature:Codice Aspetto della firmaJ

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

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

Esiste un joinpoint tale che thisJoinPoint.getSignature() che non è un CodeSignature?

risposta

2

CodeSignature rappresenta un blocco di codice catturato da un punto di unione. Può essere un metodo, costruttore, inizializzatore (statico o non statico) o un avviso. Esistono punti di join in cui la firma non è un CodeSignature. Ad esempio, i punti di unione per il set di campi e il campo ricevono dove la firma è un FieldSignature e il punto di join per una clausola catch ha un CatchClauseSignature.

Le firme consentono di accedere alle informazioni su cui viene chiamato il punto di unione.