001 /* 002 This project provide access to non public fields 003 and methods as help for writing tests. 004 Copyright (C) 2007 Christof Lehmann 005 006 This program is free software; you can redistribute it and/or 007 modify it under the terms of the GNU General Public License 008 as published by the Free Software Foundation; either version 2 009 of the License, or (at your option) any later version. 010 011 This program is distributed in the hope that it will be useful, 012 but WITHOUT ANY WARRANTY; without even the implied warranty of 013 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 014 GNU General Public License for more details. 015 016 You should have received a copy of the GNU General Public License 017 along with this program; if not, write to the Free Software 018 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 019 */ 020 package net.sf.testextensions; 021 022 /** 023 * The <code>AccessMethod</code> describes the interface, for accessing a 024 * Method. 025 * 026 * @author forge-cl 027 * 028 */ 029 public interface AccessMethod { 030 031 /** 032 * The method <code>call</code> the definied methods with the spezified 033 * arguments. 034 * 035 * @param args 036 * the args for the method call. 037 * @return the return value of the method call 038 * @throws TestExtensionException 039 * if no method, which suites to the args, was found or any 040 * other error occures. 041 */ 042 Object call(final Object[] args) throws TestExtensionException; 043 044 /** 045 * The method <code>call</code> the definied methods with no arguments. 046 * 047 * @return the return value of the method call 048 * @throws TestExtensionException 049 * if no method, which suites to the args, was found or any 050 * other error occures. 051 */ 052 Object call() throws TestExtensionException; 053 054 /** 055 * The method <code>call</code> the definied methods with the spezified 056 * arguments. 057 * 058 * @param arg 059 * one parameter for the method call. 060 * @return the return value of the method call 061 * @throws TestExtensionException 062 * if no method, which suites to the args, was found or any 063 * other error occures. 064 */ 065 Object call(final Object arg) throws TestExtensionException; 066 067 /** 068 * The method <code>call</code> the definied methods with the spezified 069 * arguments. 070 * 071 * @param arg1 072 * first parameter for the method call. 073 * @param arg2 074 * second parameter for the method call. 075 * @return the return value of the method call 076 * @throws TestExtensionException 077 * if no method, which suites to the args, was found or any 078 * other error occures. 079 */ 080 Object call(final Object arg1, final Object arg2) 081 throws TestExtensionException; 082 083 /** 084 * The method <code>call</code> the definied methods with the spezified 085 * arguments. 086 * @param arg1 087 * first parameter for the method call. 088 * @param arg2 089 * second parameter for the method call. 090 * @param arg3 091 * third parameter for the method call. 092 * 093 * @return the return value of the method call 094 * @throws TestExtensionException 095 * if no method, which suites to the args, was found or any 096 * other error occures. 097 */ 098 Object call(final Object arg1, final Object arg2, final Object arg3) 099 throws TestExtensionException; 100 }