blob: 3b20ee58fd50c9c74ad1bbede209af08c95266b3 [file] [log] [blame]
/*
* 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<T> implements MockReference<T> {
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<T>(ref);
} else {
return this;
}
}
}