org.mockito.internal.handler.NullResultGuardian Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of securemock Show documentation
Show all versions of securemock Show documentation
Libraries for Elasticsearch
The newest version!
/*
* Copyright (c) 2007 Mockito contributors
* This program is made available under the terms of the MIT License.
*/
package org.mockito.internal.handler;
import org.mockito.invocation.InvocationContainer;
import org.mockito.invocation.Invocation;
import org.mockito.invocation.MockHandler;
import org.mockito.mock.MockCreationSettings;
import static org.mockito.internal.util.Primitives.defaultValue;
/**
* Protects the results from delegate MockHandler. Makes sure the results are valid.
*
* by Szczepan Faber, created at: 5/22/12
*/
class NullResultGuardian implements MockHandler {
private final MockHandler delegate;
public NullResultGuardian(MockHandler delegate) {
this.delegate = delegate;
}
@Override
public Object handle(Invocation invocation) throws Throwable {
Object result = delegate.handle(invocation);
Class> returnType = invocation.getMethod().getReturnType();
if(result == null && returnType.isPrimitive()) {
//primitive values cannot be null
return defaultValue(returnType);
}
return result;
}
@Override
public MockCreationSettings getMockSettings() {
return delegate.getMockSettings();
}
@Override
public InvocationContainer getInvocationContainer() {
return delegate.getInvocationContainer();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy