import org.aspectj.lang.Signature;
import org.aspectj.lang.JoinPoint;
public abstract aspect World { 
    //private Object result;
        pointcut greeting() : execution(* Hello.sayWorld(..)); 

        Object around(): greeting() {
        System.out.println("around start!");
        Object result = proceed();
        System.out.println("around end!");
        return result;
        }

//    before() : greeting() { 
//      Signature signature = thisJoinPoint.getSignature();
//        System.out.println("before " + signature.getName()); 
//    } 

//    after() returning () : greeting() { 
//      Signature signature = thisJoinPoint.getSignature();
//        System.out.println("after " + signature.getName()); 
//    } 

}