public class PropertyAndSetterInjection extends MockInjectionStrategy
Algorithm :
for each field annotated by @InjectMocks
Note: If the field needing injection is not initialized, the strategy tries to create one using a no-arg constructor of the field type.
| Modifier and Type | Field and Description |
|---|---|
private MockCandidateFilter |
mockCandidateFilter |
private ListUtil.Filter<java.lang.reflect.Field> |
notFinalOrStatic |
| Constructor and Description |
|---|
PropertyAndSetterInjection() |
| Modifier and Type | Method and Description |
|---|---|
private FieldInitializationReport |
initializeInjectMocksField(java.lang.reflect.Field field,
java.lang.Object fieldOwner) |
private boolean |
injectMockCandidates(java.lang.Class<?> awaitingInjectionClazz,
java.lang.Object injectee,
java.util.Set<java.lang.Object> mocks) |
private boolean |
injectMockCandidatesOnFields(java.util.Set<java.lang.Object> mocks,
java.lang.Object injectee,
boolean injectionOccurred,
java.util.List<java.lang.reflect.Field> orderedCandidateInjecteeFields) |
private java.util.List<java.lang.reflect.Field> |
orderedInstanceFieldsFrom(java.lang.Class<?> awaitingInjectionClazz) |
boolean |
processInjection(java.lang.reflect.Field injectMocksField,
java.lang.Object injectMocksFieldOwner,
java.util.Set<java.lang.Object> mockCandidates)
Process actual injection.
|
nop, process, thenTryprivate final MockCandidateFilter mockCandidateFilter
private final ListUtil.Filter<java.lang.reflect.Field> notFinalOrStatic
public boolean processInjection(java.lang.reflect.Field injectMocksField,
java.lang.Object injectMocksFieldOwner,
java.util.Set<java.lang.Object> mockCandidates)
MockInjectionStrategy
Don't call this method directly, instead call MockInjectionStrategy.process(Field, Object, Set)
processInjection in class MockInjectionStrategyinjectMocksField - Field needing injectioninjectMocksFieldOwner - Field owner instance.mockCandidates - Pool of mocks to inject.true if injection occurred, false otherwiseprivate FieldInitializationReport initializeInjectMocksField(java.lang.reflect.Field field, java.lang.Object fieldOwner)
private boolean injectMockCandidates(java.lang.Class<?> awaitingInjectionClazz,
java.lang.Object injectee,
java.util.Set<java.lang.Object> mocks)
private boolean injectMockCandidatesOnFields(java.util.Set<java.lang.Object> mocks,
java.lang.Object injectee,
boolean injectionOccurred,
java.util.List<java.lang.reflect.Field> orderedCandidateInjecteeFields)
private java.util.List<java.lang.reflect.Field> orderedInstanceFieldsFrom(java.lang.Class<?> awaitingInjectionClazz)