blob: 3e550013a350023eae57ed3dd580a77518637839 [file] [log] [blame]
/*
* Copyright (c) 2018 Mockito contributors
* This program is made available under the terms of the MIT License.
*/
package org.mockito.internal.listeners;
import org.mockito.internal.creation.settings.CreationSettings;
import org.mockito.invocation.Invocation;
import org.mockito.mock.MockCreationSettings;
import org.mockito.stubbing.Stubbing;
import java.util.Collection;
import java.util.List;
public class StubbingLookupNotifier {
public static void notifyStubbedAnswerLookup(Invocation invocation, Stubbing stubbingFound,
Collection<Stubbing> allStubbings, CreationSettings creationSettings) {
List<StubbingLookupListener> listeners = creationSettings.getStubbingLookupListeners();
if (listeners.isEmpty()) {
return;
}
StubbingLookupEvent event = new Event(invocation, stubbingFound, allStubbings, creationSettings);
for (StubbingLookupListener listener : listeners) {
listener.onStubbingLookup(event);
}
}
static class Event implements StubbingLookupEvent {
final private Invocation invocation;
final private Stubbing stubbing;
final private Collection<Stubbing> allStubbings;
final private MockCreationSettings mockSettings;
public Event(Invocation invocation,
Stubbing stubbing,
Collection<Stubbing> allStubbings,
MockCreationSettings mockSettings) {
this.invocation = invocation;
this.stubbing = stubbing;
this.allStubbings = allStubbings;
this.mockSettings = mockSettings;
}
@Override
public Invocation getInvocation() {
return invocation;
}
@Override
public Stubbing getStubbingFound() {
return stubbing;
}
@Override
public Collection<Stubbing> getAllStubbings() {
return allStubbings;
}
@Override
public MockCreationSettings getMockSettings() {
return mockSettings;
}
}
}