Rozwiązania z zadanek Rozwiązanie Czocherka <3<3: package pak1; public aspect Aspekt { declare parents : pak1..* implements EnableDisable; pointcut getReturningDouble(EnableDisable enableDisable, double liczba) : execution(* pak1..*.*(double)) && args(liczba) && this(enableDisable); private boolean EnableDisable.enableCheck = false; public void EnableDisable.enableCheck() { this.enableCheck = true; } public void EnableDisable.disableCheck() { this.enableCheck = false; } before(EnableDisable enableDisable, double liczba) : getReturningDouble(enableDisable, liczba) { if(liczba < 0 && enableDisable.enableCheck) { throw new IllegalArgumentException("Nie moze byc ujemna!"); } } } interface EnableDisable { }