/* * 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.internal.creation.DelegatingMethod; import org.mockito.internal.invocation.MockitoMethod; import java.io.Serializable; import java.lang.reflect.Method; public class ObjectMethodsGuru implements Serializable { private static final long serialVersionUID = -1286718569065470494L; public boolean isToString(Method method) { return isToString(new DelegatingMethod(method)); } public boolean isToString(MockitoMethod method) { return method.getReturnType() == String.class && method.getParameterTypes().length == 0 && method.getName().equals("toString"); } public boolean isEqualsMethod(Method method) { return method.getName().equals("equals") && method.getParameterTypes().length == 1 && method.getParameterTypes()[0] == Object.class; } public boolean isHashCodeMethod(Method method) { return method.getName().equals("hashCode") && method.getParameterTypes().length == 0; } public boolean isCompareToMethod(Method method) { return Comparable.class.isAssignableFrom(method.getDeclaringClass()) && method.getName().equals("compareTo") && method.getParameterTypes().length == 1 && method.getParameterTypes()[0] == method.getDeclaringClass(); } }