protocol

# `java_access_protocol`

Protocol for a minimal abstraction for calling Java from Logtalk using familiar message sending syntax.

Author: Paulo Moura and Sergio Castro
Version: 1:2:1
Date: 2023-03-16
Compilation flags:
`static`
Dependencies:
(none)
Remarks:
(none)
Inherited public predicates:
(none)

## Public predicates

### `get_field/2`

Gets the value of a class or object field.

Compilation flags:
`static`
Template:
`get_field(Field,Value)`
Mode and number of proofs:
`get_field(+atom,?nonvar)` - `zero_or_one`

### `set_field/2`

Sets the value of a class or object field.

Compilation flags:
`static`
Template:
`set_field(Field,Value)`
Mode and number of proofs:
`set_field(+atom,+nonvar)` - `one`

### `new/2`

Creates a new instance using the specified parameter values.

Compilation flags:
`static`
Template:
`new(Parameters,Instance)`
Mode and number of proofs:
`new(+list(nonvar),-reference)` - `one`

### `new/1`

Creates a new instance using default parameter values.

Compilation flags:
`static`
Template:
`new(Instance)`
Mode and number of proofs:
`new(-reference)` - `one`

### `invoke/1`

Invokes a method. This is a more efficient compared with relying on the `forward/1` handler to resolve methods.

Compilation flags:
`static`
Template:
`invoke(Method)`
Mode and number of proofs:
`invoke(@nonvar)` - `one`

### `invoke/2`

Invokes a method. This is a more efficient compared with relying on the `forward/1` handler to resolve methods.

Compilation flags:
`static`
Template:
`invoke(Functor,Arguments)`
Mode and number of proofs:
`invoke(@nonvar,@list)` - `one`

## Protected predicates

(none)

## Private predicates

(none)

## Operators

(none)