1e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson/* 2e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson * Copyright (c) 2007 Mockito contributors 3e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson * This program is made available under the terms of the MIT License. 4e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson */ 5e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinsonpackage org.mockito.internal.creation; 6e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson 7e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinsonimport java.lang.reflect.Method; 8e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson 9e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinsonimport org.mockito.internal.invocation.MockitoMethod; 10e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson 11e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinsonpublic class DelegatingMethod implements MockitoMethod { 12e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson 13e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson private final Method method; 14e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson 15e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson public DelegatingMethod(Method method) { 16e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson assert method != null : "Method cannot be null"; 17e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson this.method = method; 18e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson } 19e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson 20e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson public Class<?>[] getExceptionTypes() { 21e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson return method.getExceptionTypes(); 22e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson } 23e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson 24e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson public Method getJavaMethod() { 25e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson return method; 26e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson } 27e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson 28e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson public String getName() { 29e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson return method.getName(); 30e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson } 31e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson 32e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson public Class<?>[] getParameterTypes() { 33e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson return method.getParameterTypes(); 34e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson } 35e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson 36e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson public Class<?> getReturnType() { 37e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson return method.getReturnType(); 38e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson } 39e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson 40e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson public boolean isVarArgs() { 41e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson return method.isVarArgs(); 42e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson } 43e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson 44e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson @Override 45e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson public int hashCode() { 46e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson return 1; 47e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson } 48e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson 49e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson @Override 50e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson public boolean equals(Object obj) { 51e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson return method.equals(obj); 52e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson } 53e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson}