حدد نقطة لالتقاط واجهة ولكن ليس الواجهات أو الواجهات الفرعية

StackOverflow https://stackoverflow.com/questions/2859447

  •  30-09-2019
  •  | 
  •  

سؤال

كنت أتساءل عن كيفية تحديد نقطة في ASPECJ التي تلتقط أي طريقة للواجهة ولكن ليس طرق أي الوالد أو الواجهة الفرعية.

public interface A {
  void methodA();
}

public interface B extends A {
  void methodB();
}

public interface C extends B {
  void methodC();
}

أرغب في poincut الذي يمسك فقط methodb () وليس methoda () أو methodc (). هل هناك أي طريقة يمكنني القيام بذلك بطريقة عامة دون إدراج جميع الواجهات الفرعية والفائقة في نقطة النقاط؟

هل كانت مفيدة؟

المحلول

للعثور على الميراث المباشر غير ممكن مع Java أو SideJ.

نصائح أخرى

هل جربت b.methodb (..) أو b+.methodb (..) أو حتى B+.*(..) أنماط طريقة SideJ؟

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top