blob: 77599795a766d1aebde8bd4d71af96aa2e2a5817 [file] [log] [blame]
/*
* Copyright (c) 2007 Mockito contributors
* This program is made available under the terms of the MIT License.
*/
package org.mockito.internal.util;
import org.mockito.mock.MockName;
import java.io.Serializable;
public class MockNameImpl implements MockName, Serializable {
private static final long serialVersionUID = 8014974700844306925L;
private final String mockName;
private boolean defaultName;
@SuppressWarnings("unchecked")
public MockNameImpl(String mockName, Class<?> classToMock) {
if (mockName == null) {
this.mockName = toInstanceName(classToMock);
this.defaultName = true;
} else {
this.mockName = mockName;
}
}
public MockNameImpl(String mockName) {
this.mockName = mockName;
}
private static String toInstanceName(Class<?> clazz) {
String className = clazz.getSimpleName();
if (className.length() == 0) {
//it's an anonymous class, let's get name from the parent
className = clazz.getSuperclass().getSimpleName();
}
//lower case first letter
return className.substring(0, 1).toLowerCase() + className.substring(1);
}
public boolean isDefault() {
return defaultName;
}
@Override
public String toString() {
return mockName;
}
}