1 /* 2 wsmo4j - a WSMO API and Reference Implementation 3 4 Copyright (c) 2005, University of Innsbruck, Austria 5 6 This library is free software; you can redistribute it and/or modify it under 7 the terms of the GNU Lesser General Public License as published by the Free 8 Software Foundation; either version 2.1 of the License, or (at your option) 9 any later version. 10 This library is distributed in the hope that it will be useful, but WITHOUT 11 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 12 FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 13 details. 14 You should have received a copy of the GNU Lesser General Public License along 15 with this library; if not, write to the Free Software Foundation, Inc., 16 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 17 */ 18 package org.omwg.logicalexpression; 19 20 21 import java.util.*; 22 23 import org.omwg.logicalexpression.terms.*; 24 import org.wsmo.common.*; 25 26 27 /** 28 * This interface represents an atom with a n-ary domain, where n is 29 * the arity of the predicate represented. 30 * @author DERI Innsbruck, reto.krummenacher@deri.org 31 * @version $Revision: 1946 $ $Date: 2007-04-02 15:13:28 +0300 (Mon, 02 Apr 2007) $ 32 * @see org.omwg.logicalexpression.AtomicExpression 33 */ 34 public interface Atom 35 extends AtomicExpression { 36 37 /** 38 * The arity of the Atom indicates how many Terms are contained in the 39 * Atom's list of arguments. 40 * 41 * @return the arity of the atom, i.e. the number of parameters 42 */ 43 int getArity(); 44 45 /** 46 * The returned Identifier represents the name of the predicate. 47 * 48 * @return the identifier of the atom, i.e. the name of the predicate 49 */ 50 Identifier getIdentifier(); 51 52 /** 53 * The index i points to a position in the Atom's list of arguments. So i mustn't 54 * exceed the arity of the atom. 55 * The desired Term, to which the index points, is returned. 56 * 57 * @param i the position of the parameter desired, maximal value getArity-1 58 * @return the parameter at the position provided as parameter 59 * @throws IllegalArgumentException in case i<0 or i exceeds the arity of the atom 60 */ 61 Term getParameter(int i) 62 throws IllegalArgumentException; 63 64 /** 65 * 66 * @return List containing the Atom's arguments (a list of Terms). 67 */ 68 List <Term> listParameters(); 69 70 public void setParameters(List <Term> parameter); 71 } 72 /* 73 * $Log$ 74 * Revision 1.7 2007/04/02 12:13:15 morcen 75 * Generics support added to wsmo-api, wsmo4j and wsmo-test 76 * 77 * Revision 1.6 2005/10/25 12:20:55 holgerlausen 78 * listParamters -> listParameters 79 * 80 * Revision 1.5 2005/09/21 06:31:55 holgerlausen 81 * allowing to set arguments rfe 1290049 82 * 83 * Revision 1.4 2005/09/13 16:07:08 holgerlausen 84 * added convinience method listParameters 85 * 86 * Revision 1.3 2005/09/09 11:58:19 holgerlausen 87 * fixed header logexp no longer extension 88 * 89 * Revision 1.2 2005/09/09 11:12:12 marin_dimitrov 90 * formatting 91 * 92 * Revision 1.1 2005/09/02 13:32:43 ohamano 93 * move logicalexpression packages from ext to core 94 * move tests from logicalexpression.test to test module 95 * 96 * Revision 1.7 2005/09/02 09:43:28 ohamano 97 * integrate wsmo-api and le-api on api and reference implementation level; full parser, serializer and validator integration will be next step 98 * 99 * Revision 1.6 2005/08/18 16:15:40 nathaliest 100 * JavaDoc added 101 * 102 * Revision 1.5 2005/08/16 16:28:29 nathaliest 103 * JavaDoc added 104 * Method getArgument(int) at UnaryImpl, QuantifiedImpl and BinaryImpl changed 105 * Method equals(Object) at QuantifiedImpl changed 106 * 107 * Revision 1.4 2005/06/22 13:32:01 ohamano 108 * change header 109 * 110 * Revision 1.3 2005/06/20 08:30:03 holgerlausen 111 * formating 112 * 113 * Revision 1.2 2005/06/18 14:06:10 holgerlausen 114 * added local LEFactory, updated javadoc, refactored LEVariable > Variable etc. parse(String) for LEFactory is running now 115 * 116 * Revision 1.1 2005/06/16 13:55:23 ohamano 117 * first import 118 * 119 */