Use Has and HasField to Condense Inquiry Results
The HAS operator within a pointcut expression allows you to inquire about extra information of the pointcut's target class. Let's say you have an constructor execution pointcut: execution(*->new(..)) You can add a HAS expression to narrow down the expression to include the execution of any constructor who's class has a method setValue: execution(*->new(..)) AND has(void *->setValue(int)) You can also do the same with fields. Let's say we also wanted to narrow it down to all classes that have a Thread field: execution(*->new(..)) AND hasfield(java.lang.Thread *.*)