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 Parkinson 6e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinsonpackage org.mockito.invocation; 7e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson 8e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinsonimport java.io.Serializable; 9e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinsonimport java.lang.reflect.Method; 10e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson 11e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson/** 12e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson * An invocation on a mock 13e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson * <p> 14e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson * A placeholder for mock, the method that was called and the arguments that were passed. 15e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson */ 16e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinsonpublic interface InvocationOnMock extends Serializable { 17e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson 18e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson /** 19e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson * returns the mock object 20e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson * 21e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson * @return mock object 22e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson */ 23e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson Object getMock(); 24e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson 25e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson /** 26e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson * returns the method 27e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson * 28e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson * @return method 29e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson */ 30e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson Method getMethod(); 31e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson 32e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson /** 33e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson * returns arguments passed to the method 34e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson * 35e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson * @return arguments 36e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson */ 37e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson Object[] getArguments(); 38e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson 39e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson /** 40e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson * calls real method 41e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson * <p> 42e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson * <b>Warning:</b> depending on the real implementation it might throw exceptions 43e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson * 44e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson * @return whatever the real method returns / throws 45e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson * @throws Throwable in case real method throws 46e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson */ 47e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson Object callRealMethod() throws Throwable; 48e0ae5d7e87b1dd6e789803c1b9615a84bd7488b7Ian Parkinson} 49