c4jason
Class JavaLibrary

java.lang.Object
  extended by c4jason.JavaLibrary

public class JavaLibrary
extends java.lang.Object

Library for managing Java objects inside a Jason agent.

Author:
aricci

Constructor Summary
JavaLibrary()
           
 
Method Summary
 boolean bindObject(Unifier un, Term id, java.lang.Object obj)
          Tries to bind specified id to a provided java object.
protected  Atom generateFreshId()
          Generates a fresh numeric identifier
 java.lang.Object getObject(Atom id)
           
 boolean java_call(Unifier un, Term objId, Term method, Term idResult)
          Calls a method of a Java object
 boolean java_new_array(Unifier un, Term className, ListTerm elems, Term id)
          Creates of a java array
 boolean java_new_object(Unifier un, Term className, ListTerm arg, Term id)
          Creates of a java object
 boolean javaArrayToList(Unifier un, Atom objId, Term idResult)
           
 java.lang.Object newObject(Unifier un, Term className, ListTerm arg)
          Creates of a java object
 Term[] objectArray2termArray(java.lang.Object[] values)
           
 Term objectToTerm(java.lang.Object value)
          Convert Java Object into a Jason term
 void registerDynamic(Atom id, java.lang.Object obj)
          Registers an object only for the running query life-time
 Atom registerDynamic(java.lang.Object obj)
          Registers an object for the query life-time, with the automatic generation of the identifier.
 java.lang.Object termToObject(Term t)
          Convert a Jason term into a CArtAgO/Java Object
 Tuple termToTuple(Term t)
           
 Literal tupleToLiteral(Tuple t)
           
 Term tupleToTerm(Tuple t)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JavaLibrary

public JavaLibrary()
Method Detail

java_new_object

public boolean java_new_object(Unifier un,
                               Term className,
                               ListTerm arg,
                               Term id)
                        throws JasonException
Creates of a java object

Throws:
JasonException

newObject

public java.lang.Object newObject(Unifier un,
                                  Term className,
                                  ListTerm arg)
                           throws JasonException
Creates of a java object

Throws:
JasonException

java_new_array

public boolean java_new_array(Unifier un,
                              Term className,
                              ListTerm elems,
                              Term id)
                       throws JasonException
Creates of a java array

Throws:
JasonException

java_call

public boolean java_call(Unifier un,
                         Term objId,
                         Term method,
                         Term idResult)
                  throws JasonException
Calls a method of a Java object

Throws:
JasonException

javaArrayToList

public boolean javaArrayToList(Unifier un,
                               Atom objId,
                               Term idResult)
                        throws JasonException
Throws:
JasonException

getObject

public java.lang.Object getObject(Atom id)

bindObject

public boolean bindObject(Unifier un,
                          Term id,
                          java.lang.Object obj)
Tries to bind specified id to a provided java object. Term id can be a variable or a ground term.


generateFreshId

protected Atom generateFreshId()
Generates a fresh numeric identifier

Returns:

registerDynamic

public void registerDynamic(Atom id,
                            java.lang.Object obj)
Registers an object only for the running query life-time

Parameters:
id - object identifier
obj - object

registerDynamic

public Atom registerDynamic(java.lang.Object obj)
Registers an object for the query life-time, with the automatic generation of the identifier. If the object is already registered, its identifier is returned

Parameters:
obj - object to be registered
Returns:
identifier

termToObject

public java.lang.Object termToObject(Term t)
Convert a Jason term into a CArtAgO/Java Object

Parameters:
t - Jason term
lib - Java library - each agent has its own one
Returns:

objectToTerm

public Term objectToTerm(java.lang.Object value)
                  throws java.lang.Exception
Convert Java Object into a Jason term

Throws:
java.lang.Exception

objectArray2termArray

public Term[] objectArray2termArray(java.lang.Object[] values)
                             throws java.lang.Exception
Throws:
java.lang.Exception

termToTuple

public Tuple termToTuple(Term t)

tupleToTerm

public Term tupleToTerm(Tuple t)
                 throws java.lang.Exception
Throws:
java.lang.Exception

tupleToLiteral

public Literal tupleToLiteral(Tuple t)
                       throws java.lang.Exception
Throws:
java.lang.Exception


>DEIS - University of Bologna