[Flora-commits] flora2/java/API/examples/flogicbasicsExample person.java, 1.3, 1.4 flogicbasicsExam
Brought to you by:
kifer
|
From: Michael K. <ki...@us...> - 2006-06-02 04:52:20
|
Update of /cvsroot/flora/flora2/java/API/examples/flogicbasicsExample In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv30544/java/API/examples/flogicbasicsExample Modified Files: person.java flogicbasicsExample.java flogic_basics.flr Log Message: further improvements to the java API Index: person.java =================================================================== RCS file: /cvsroot/flora/flora2/java/API/examples/flogicbasicsExample/person.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- person.java 29 May 2006 05:00:49 -0000 1.3 +++ person.java 2 Jun 2006 04:52:17 -0000 1.4 @@ -1,388 +1,897 @@ + import java.util.*; import com.declarativa.interprolog.TermModel; import net.sourceforge.flora.javaAPI.util.*; import net.sourceforge.flora.javaAPI.src.*; public class person extends FloraConstants { + FloraObject sourceFloraObject; String moduleName; TermModel floraClassName = new TermModel("person"); public person(FloraObject sourceFloraObject,String moduleName) { [...1022 lines suppressed...] +return sourceFloraObject.setvalue(moduleName,"salary",NONINHERITABLE,SIGNATURE,pars,value); +} +public boolean deleteVSN_salary(Object year,Vector value) +{ +Vector pars = new Vector(); +pars.add(year); +return sourceFloraObject.deletevalue(moduleName,"salary",NONINHERITABLE,SIGNATURE,pars,value); +} +public boolean deleteVSN_salary(Object year,Object value) +{ +Vector pars = new Vector(); +pars.add(year); +return sourceFloraObject.deletevalue(moduleName,"salary",NONINHERITABLE,SIGNATURE,pars,value); +} +public boolean deleteVSN_salary(Object year){ +Vector pars = new Vector(); +pars.add(year); +return sourceFloraObject.deletevalue(moduleName,"salary",NONINHERITABLE,SIGNATURE,pars); } } Index: flogicbasicsExample.java =================================================================== RCS file: /cvsroot/flora/flora2/java/API/examples/flogicbasicsExample/flogicbasicsExample.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- flogicbasicsExample.java 29 May 2006 05:00:49 -0000 1.3 +++ flogicbasicsExample.java 2 Jun 2006 04:52:17 -0000 1.4 @@ -41,12 +41,12 @@ System.out.println("Invalid path to example file!"); System.exit(0); } - session.loadFile(fileName,"foo_mod"); + session.loadFile(fileName,"example"); /* Running queries from flogic_basics */ /* Query for persons */ - String command = "?X:person@foo_mod."; + String command = "?X:person@example."; System.out.println("Query:"+command); Iterator personObjs = session.ExecuteQuery(command); @@ -56,8 +56,8 @@ FloraObject personObj = (FloraObject)(personObjs.next()); System.out.println("Person name:"+personObj); - currPerson =new person(personObj,"foo_mod"); - Iterator kidsItr = currPerson.getDN_kids(); + currPerson =new person(personObj,"example"); + Iterator kidsItr = currPerson.getVDN_kids(); while(kidsItr.hasNext()) { FloraObject kidObj = (FloraObject)(kidsItr.next()); @@ -65,9 +65,9 @@ + " has kid: " + kidObj); person kidPerson = null; - kidPerson = new person(kidObj,"foo_mod"); + kidPerson = new person(kidObj,"example"); - Iterator hobbiesItr = kidPerson.getDN_hobbies(); + Iterator hobbiesItr = kidPerson.getVDN_hobbies(); while(hobbiesItr.hasNext()) { FloraObject hobbyObj = null; @@ -77,12 +77,23 @@ } } } - - command = "person[instances -> ?X]@foo_mod."; + + FloraObject age; + currPerson = new person("father(mary)", "example", session); + Iterator maryfatherItr = currPerson.getVDN_age(); + age = (FloraObject)maryfatherItr.next(); + System.out.println("Mary's father is " + age + " years old"); + + currPerson = new person("mary", "example", session); + Iterator maryItr = currPerson.getVDN_age(); + age = (FloraObject)maryItr.next(); + System.out.println("Mary is " + age + " years old"); + + command = "person[instances -> ?X]@example."; System.out.println("Query:"+command); personObjs = session.ExecuteQuery(command); - /* Prining out the person names */ + /* Printing out the person names */ while (personObjs.hasNext()) { Object personObj = personObjs.next(); System.out.println("Person Id: "+personObj); @@ -94,17 +105,54 @@ vars.add("?Y"); Iterator allmatches = - session.ExecuteQuery("?X[believes_in -> ?Y]@foo_mod.",vars); - System.out.println("Query:?X[believes_in -> ?Y]@foo_mod."); + session.ExecuteQuery("?X[believes_in -> ?Y]@example.",vars); + System.out.println("Query:?X[believes_in -> ?Y]@example."); HashMap firstmatch; - while(allmatches.hasNext()) { + while (allmatches.hasNext()) { firstmatch = (HashMap)allmatches.next(); FloraObject Xobj = (FloraObject)firstmatch.get("?X"); FloraObject Yobj = (FloraObject)firstmatch.get("?Y"); System.out.println(Xobj+" believes in: "+Yobj); } + FloraObject personObj = new FloraObject("person",session); + Iterator methIter = personObj.getMethods("example"); + while (methIter.hasNext()) { + System.out.println(((FloraMethod)methIter.next()).methodDetails()); + } + + Iterator instanceIter = personObj.getInstances("example"); + System.out.println("Person instances:"); + while (instanceIter.hasNext()) + System.out.println(" " + (FloraObject)instanceIter.next()); + + instanceIter = personObj.getDirectInstances("example"); + System.out.println("Person direct instances:"); + while (instanceIter.hasNext()) + System.out.println(" " + (FloraObject)instanceIter.next()); + + Iterator subIter = personObj.getSubClasses("example"); + System.out.println("Person subclasses:"); + while (subIter.hasNext()) + System.out.println(" " + (FloraObject)subIter.next()); + + subIter = personObj.getDirectSubClasses("example"); + System.out.println("Person direct subclasses:"); + while (subIter.hasNext()) + System.out.println(" " + (FloraObject)subIter.next()); + + Iterator supIter = personObj.getSuperClasses("example"); + System.out.println("Person superclasses:"); + while (supIter.hasNext()) + System.out.println(" " + (FloraObject)supIter.next()); + + supIter = personObj.getDirectSuperClasses("example"); + System.out.println("Person direct superclasses:"); + while (supIter.hasNext()) + System.out.println(" " + (FloraObject)supIter.next()); + + session.close(); System.exit(0); } Index: flogic_basics.flr =================================================================== RCS file: /cvsroot/flora/flora2/java/API/examples/flogicbasicsExample/flogic_basics.flr,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- flogic_basics.flr 24 May 2006 20:33:55 -0000 1.1 +++ flogic_basics.flr 2 Jun 2006 04:52:17 -0000 1.2 @@ -38,21 +38,27 @@ tc(?X,?Y) :- %e(?X,?Y). // a RULE and ... tc(?X,?Y) :- tc(?X,?Z), tc(?Z,?Y). // ... a (doubly) RECURSIVE RULE -person :: object. +person :: animal. +animal::object. +superman :: person. dangerous_hobby :: object. john:employee. // INSTANCE : CLASS employee::person. // SUBCLASS :: SUPERCLASS +secretary::employee. bob:person. tim:person. betty:employee. +sally:secretary. person[age*=>integer, kids*=>person, - salary(year)*=>value, + salary(year)*=>integer, hobbies*=>hobby, believes_in*=>something, - instances => person -]. // some (optional) SIGNATURE information + instances => person, + *=> married(year), + => %testmethod +]. mary:employee[ // a more complex MOLECULE involving age->29, // ... a SINGLE-VALUED method @@ -60,6 +66,8 @@ salary(1998) -> a_lot // ... a PARAMETERIZED method ]. +father(mary):person[age->66]. + tim[hobbies -> {stamps, snowboard}]. // somebodies hobbies betty[hobbies ->{fishing,diving}]. |