domain.addAspectDefinition(def);
AdviceFactory advice = new AdviceFactory(def, "invoke");
domain.addInterceptorFactory(advice.getName(), advice);
//PointcutExpression pointcut = new PointcutExpression("pointcut", "execution(java.lang.String $instanceof{" + POJO.class.getName() + "}->helloWorld(..))");
{
PointcutExpression pointcut = new PointcutExpression("pointcut", "execution(java.lang.String " + POJO.class.getName() + "->helloWorld(..))");
domain.addPointcut(pointcut);
InterceptorFactory[] interceptors = {advice};
AdviceBinding binding = new AdviceBinding("pojo-binding", pointcut, null, null, interceptors);
domain.addBinding(binding);
}
{
PointcutExpression pointcut = new PointcutExpression("mixin-pointcut", "execution(java.lang.String $instanceof{" + MixinInterface.class.getName() + "}->intercepted(..))");
domain.addPointcut(pointcut);
InterceptorFactory[] interceptors = {advice};
AdviceBinding binding = new AdviceBinding("mixin-binding", pointcut, null, null, interceptors);
domain.addBinding(binding);
}