• Places
    • Home
    • Graphs
    • Prefixes
  • Amalgame
    • Alignment interface
    • Vocabulary browser
  • Admin
    • Users
    • Settings
    • Plugins
    • Statistics
  • Repository
    • Load local file
    • Load from HTTP
    • Load from library
    • Remove triples
    • Clear repository
  • Query
    • YASGUI SPARQL Editor
    • Simple Form
  • Help
    • Documentation
    • Tutorial
    • Roadmap
    • HTTP Services
  • Login

1 library(jpl): A Java interface for SWI Prolog 7.x
AllApplicationManualNameSummaryHelp

  • Documentation
    • Reference manual
    • Packages
      • JPL: A bidirectional Prolog/Java interface
        • library(jpl): A Java interface for SWI Prolog 7.x
          • jpl_new/3
          • jpl_call/4
          • jpl_get/3
          • jpl_set/3
          • jpl_get_default_jvm_opts/1
          • jpl_set_default_jvm_opts/1
          • jpl_get_actual_jvm_opts/1
          • jpl_pl_lib_version/1
          • jpl_c_lib_version/1
          • jpl_class_to_classname/2
          • jpl_class_to_type/2
          • jpl_classname_to_class/2
          • jpl_entityname_to_type/2
          • jpl_type_to_entityname/2
          • jpl_classname_to_type/2
          • jpl_type_to_classname/2
          • jpl_datum_to_type/2
          • jpl_object_to_class/2
          • jpl_object_to_type/2
          • jpl_primitive_type/1
          • jpl_ref_to_type/2
          • jpl_type_to_class/2
          • jpl_is_class/1
          • jpl_is_false/1
          • jpl_is_null/1
          • jpl_is_object/1
          • jpl_is_object_type/1
          • jpl_is_ref/1
          • jpl_is_true/1
          • jpl_is_type/1
          • jpl_is_void/1
          • jpl_false/1
          • jpl_null/1
          • jpl_true/1
          • jpl_void/1
          • jpl_array_to_length/2
          • jpl_array_to_list/2
          • jpl_datums_to_array/2
          • jpl_enumeration_element/2
          • jpl_enumeration_to_list/2
          • jpl_hashtable_pair/2
          • jpl_iterator_element/2
          • jpl_list_to_array/2
          • jpl_terms_to_array/2
          • jpl_array_to_terms/2
          • jpl_map_element/2
          • jpl_set_element/2
          • jpl_servlet_byref/3
          • jpl_servlet_byval/3
          • jpl_pl_syntax/1
[det]jpl_call(+X, +MethodName:atom, +Params:list(datum), -Result:datum)
X should be either

  • an object reference, e.g. <jref>(1552320) (for static or instance methods)
  • or a classname, e.g. 'java.util.Date' (for static methods only)
  • or a descriptor, e.g. 'Ljava.util.Date;' (for static methods only)
  • or type, e.g. class([java,util],['Date']) (for static methods only)

MethodName should be a method name (as an atom) (may involve dynamic overload resolution based on inferred types of params)

Params should be a proper list (perhaps empty) of suitable actual parameters for the named method.

The class or object may have several methods with the given name; JPL will resolve (per call) to the most appropriate method based on the quantity and inferred types of Params. This resolution mimics the corresponding static resolution performed by Java compilers.

Finally, an attempt will be made to unify Result with the method's returned value, or with @(void) (the compound term with name @ and argument void) if it has none.

ClioPatria (version no GIT?)