AspectJ: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m Bot: Correzione di uno o più errori comuni |
|||
Riga 37:
handler(IOException)
indica l'esecuzione di un qualsiasi blocco catch(IOException e) { .. } che gestisce un'eccezione di tipo IOException
get ( int A.numero )
Riga 102:
In generale, un pointcut genera dei join point. Basti pensare che nel corpo di un qualsiasi metodo, si può verificare la creazione di un oggetto, la chiamata di un altro metodo, la gestione di un'eccezione. Idem dicasi per la gestione di un'eccezione, o per la creazione di un oggetto. In aspectj esistono pertanto delle apposite parole chiave per raggruppare i join point in insiemi in base al pointcut che li ha creati.
Esse sono: cflow e cflowbelow.
Per mostrare la differenza tra i due, prendiamo ad esempio il seguente frammento di codice
pointcut ct() : call(void sum()) ;
pointcut fl() : cflow(ct) ;
il pointucut fl individua l'insieme di join point generati nell'esecuzione del metodo void sum, oltre al join point generato dalla chiamata del metodo sum(). Il pointcut fl, inteso come insieme di join point, contiene cioè al suo interno il poincut ct. Invece, se definiamo il pointcut fl2 come
pointcut fl2() : cflowbelow(ct) ;
Riga 135:
questo frammento di codice fa sì che prima dell'esecuzione di un metodo di tipo void e di nome faiQualcosa sia stampato a video '''ciao'''.
Un advice può anche essere eseguito dopo un certo pointcut
after(): punto1() {System.out.println("arrivederci");
|