blob: 034694f6a6a47b8ae064926a1c96df3cac08da98 [file] [log] [blame]
/*
* Copyright (c) 2007 Mockito contributors
* This program is made available under the terms of the MIT License.
*/
package org.mockito.internal.creation;
import org.mockito.internal.invocation.MockitoMethod;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
public class DelegatingMethod implements MockitoMethod {
private final Method method;
public DelegatingMethod(Method method) {
assert method != null : "Method cannot be null";
this.method = method;
}
public Class<?>[] getExceptionTypes() {
return method.getExceptionTypes();
}
public Method getJavaMethod() {
return method;
}
public String getName() {
return method.getName();
}
public Class<?>[] getParameterTypes() {
return method.getParameterTypes();
}
public Class<?> getReturnType() {
return method.getReturnType();
}
public boolean isVarArgs() {
return method.isVarArgs();
}
public boolean isAbstract() {
return (method.getModifiers() & Modifier.ABSTRACT) != 0;
}
/**
* @return True if the input object is a DelegatingMethod which has an internal Method which is equal to the internal Method of this DelegatingMethod,
* or if the input object is a Method which is equal to the internal Method of this DelegatingMethod.
*/
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o instanceof DelegatingMethod) {
DelegatingMethod that = (DelegatingMethod) o;
return method.equals(that.method);
} else {
return method.equals(o);
}
}
@Override
public int hashCode() {
return method.hashCode();
}
}