2011-01-12 3 views
0

мне интересно, что следующие средства в срезом точекАспект ориентированный вопрос - Pointcut

after(FigureElement fe, int x, int y) returning: 
     call(void FigureElement.setXY(int, int)) 
     && target(fe) 
     && args(x, y) { 
    System.out.println(fe + " moved to (" + x + ", " + y + ")"); 
} 

, что делает цель и арг значит здесь? я понятия не имею.

Большое спасибо

ответ

4

Давайте посмотрим на AspectJ guide.

мишень (тип или Id) каждый присоединиться к точке, когда цель выполнения объект является экземпляром типа или типа идентификаторам

арг (тип или Id, ...) каждый присоединиться момент, когда аргументы являются экземплярами типов или типов НМДА

в вашем примере, для чтобы соответствовать срезу точек, метод должен быть вызваны FigureElement экземпляров и имеет два int аргументов. Имена, указанные как параметры target и args, означают, что эти параметры доступны внутри вашего тела совета.

Итак, ваша соответствует всем срез точек вызовов на FigureElement.setXY метод с двумя аргументами int и дает вам доступ к согласованной, например, как fe и метод рассуждений как x и y.

+0

Отлично, спасибо за ответ. С уважением – Joeblackdev

Смежные вопросы