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 interface <code>AccessField</code> defines the methods
024 * for accessing a member.
025 * @author forge-cl
026 *
027 */
028 public interface AccessField {
029
030 /**
031 * The method <code>setValue</code> set the selected
032 * field to the given value.
033 * @param aNewValue the value, which should the selected
034 * field contains after this method call.
035 * @throws TestExtensionException if the dstValue does not
036 * suite to the field or any other exception occures.
037 */
038 void setValue(final Object aNewValue) throws TestExtensionException;
039
040 /**
041 * The method <code>getValue</code> give the value of the
042 * selected field.
043 * @return the value of the selected field.
044 * @throws TestExtensionException shows, that an error
045 * occures during field access.
046 */
047 Object getValue() throws TestExtensionException;
048 }