Class MockInjectionStrategy
java.lang.Object
org.mockito.internal.configuration.injection.MockInjectionStrategy
- Direct Known Subclasses:
ConstructorInjection
,PropertyAndSetterInjection
,SpyOnInjectedFieldsHandler
Injector strategy contract
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic MockInjectionStrategy
nop()
NOP Strategy that will always try the next strategy.boolean
Actually inject mockCandidates on field.protected abstract boolean
processInjection
(Field field, Object fieldOwner, Set<Object> mockCandidates) Process actual injection.private boolean
relayProcessToNextStrategy
(Field field, Object fieldOwner, Set<Object> mockCandidates) thenTry
(MockInjectionStrategy strategy) Enqueue next injection strategy.
-
Field Details
-
nextStrategy
-
-
Constructor Details
-
MockInjectionStrategy
public MockInjectionStrategy()
-
-
Method Details
-
nop
NOP Strategy that will always try the next strategy. -
thenTry
Enqueue next injection strategy.The implementation should take care of the actual calling if required.
- Parameters:
strategy
- Queued strategy.- Returns:
- The passed strategy instance to allow chaining.
-
process
Actually inject mockCandidates on field.Actual algorithm is defined in the implementations of
processInjection(Field, Object, Set)
. However if injection occurred successfully, the process should returntrue
, andfalse
otherwise.The code takes care of calling the next strategy if available and if of course if required
- Parameters:
onField
- Field needing injection.fieldOwnedBy
- The owning instance of the field.mockCandidates
- A set of mock candidate, that might be injected.- Returns:
true
if successful,false
otherwise.
-
processInjection
protected abstract boolean processInjection(Field field, Object fieldOwner, Set<Object> mockCandidates) Process actual injection.Don't call this method directly, instead call
process(Field, Object, Set)
- Parameters:
field
- Field needing injectionfieldOwner
- Field owner instance.mockCandidates
- Pool of mocks to inject.- Returns:
true
if injection occurred,false
otherwise
-
relayProcessToNextStrategy
-