.. index:: single: java(Reference,ReturnValue)
.. _java/2:

.. rst-class:: right

**object**

``java(Reference,ReturnValue)``
===============================

* ``Reference`` - Either a class name or a Java reference to an object.
* ``ReturnValue`` - Value returned by a method call (possibly the Java value void).


Minimal abstraction of the JPL API for calling Java from Logtalk using familiar message-sending syntax and a ``forward/1`` handler to resolve methods.

| **Availability:** 
|    ``logtalk_load(java(loader))``

| **Author:** Paulo Moura and Sergio Castro
| **Version:** 1:4:0
| **Date:** 2023-03-13

| **Compilation flags:**
|    ``static, context_switching_calls``


| **Implements:**
|    ``public`` :ref:`forwarding <forwarding/0>`
|    ``public`` :ref:`java_access_protocol <java_access_protocol/0>`

| **Remarks:**

   - Usage: Send to this object any valid message as listed in the JavaDocs for the given reference.

| **Inherited public predicates:**
|     :ref:`forwarding/0::forward/1`  :ref:`java_access_protocol/0::get_field/2`  :ref:`java_access_protocol/0::invoke/1`  :ref:`java_access_protocol/0::invoke/2`  :ref:`java_access_protocol/0::new/1`  :ref:`java_access_protocol/0::new/2`  :ref:`java_access_protocol/0::set_field/2`  

.. contents::
   :local:
   :backlinks: top

Public predicates
-----------------

(no local declarations; see entity ancestors if any)

Protected predicates
--------------------

(no local declarations; see entity ancestors if any)

Private predicates
------------------

(no local declarations; see entity ancestors if any)

Operators
---------

(none)

.. seealso::

   :ref:`java(Reference) <java/1>`, :ref:`java <java/0>`, :ref:`java_hook <java_hook/0>`

