org.mockito.internal.invocation.mockref.MockStrongReference Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of mockito-core Show documentation
Show all versions of mockito-core Show documentation
Mockito mock objects library core API and implementation
/*
* Copyright (c) 2018 Mockito contributors
* This program is made available under the terms of the MIT License.
*/
package org.mockito.internal.invocation.mockref;
import java.io.ObjectStreamException;
public class MockStrongReference implements MockReference {
private final T ref;
private final boolean deserializeAsWeakRef;
public MockStrongReference(T ref, boolean deserializeAsWeakRef) {
this.ref = ref;
this.deserializeAsWeakRef = deserializeAsWeakRef;
}
@Override
public T get() {
return ref;
}
private Object readResolve() throws ObjectStreamException {
if (deserializeAsWeakRef) {
return new MockWeakReference(ref);
} else {
return this;
}
}
}