@Test void testAdd() { User user = mock(User.class); userRepositoryValidationDecorator.add(user); verify(userValidator).validate(user); }
@Override public void add(User user) { validateAddUser(user); super.add(user); }
UserRepositoryValidationDecorator extends AbstractRepositoryDecorator<User> { @Override public void add(User user) { validateAddUser(user); super.add(user); } }
UserRepositoryValidationDecorator extends AbstractRepositoryDecorator<User> { @Override public void add(User user) { validateAddUser(user); super.add(user); } UserRepositoryValidationDecorator(
      Repository<User> delegateRepository, UserValidator userValidator); }
UserRepositoryValidationDecorator extends AbstractRepositoryDecorator<User> { @Override public void add(User user) { validateAddUser(user); super.add(user); } UserRepositoryValidationDecorator(
      Repository<User> delegateRepository, UserValidator userValidator); @Override void add(User user); @Override Integer add(Stream<User> userStream); @Override void update(User user); @Override void update(Stream<User> userStream); }
UserRepositoryValidationDecorator extends AbstractRepositoryDecorator<User> { @Override public void add(User user) { validateAddUser(user); super.add(user); } UserRepositoryValidationDecorator(
      Repository<User> delegateRepository, UserValidator userValidator); @Override void add(User user); @Override Integer add(Stream<User> userStream); @Override void update(User user); @Override void update(Stream<User> userStream);  }