# Package py4j

- Interface Summary
  Interface | Description
  --- | ---
  GatewayServerListener | A client can implement this listener to be notified of Gateway events.

- Class Summary
  Class | Description
  --- | ---
  Base64 | A very fast and memory efficient class to encode and decode to and from BASE64 in full accordance with RFC 2045. On Windows XP sp1 with 1.4.2_04 and later ;), this encoder and decoder is about 10 times faster on small arrays (10 - 1000 bytes) and 2-3 times as fast on larger arrays (10000 - 1000000 bytes) compared to `sun.misc.Encoder()/Decoder()`. On byte arrays the encoder is about 20% faster than Jakarta Commons Base64 Codec for encode and about 50% faster for decoding large arrays.
  CallbackClient | A CallbackClient is responsible for managing communication channels: channels are created as needed (e.g., one per concurrent thread) and are closed after a certain time.
  CallbackConnection | Default implementation of the CommunicationChannel interface using TCP sockets.
  DefaultApplication | Default application that can be used to quickly test Py4J.
  DefaultGatewayServerListener | This class implements a default `GatewayServerListener`.
  Gateway | A Gateway manages various states: entryPoint, references to objects returned to a Python program, etc.
  GatewayConnection | Manage the connection between a Python program and a Gateway.
  GatewayServer | This class enables Python programs to access a Java program.
  JVMView | A JVM view keeps track of imports and import searches.
  NetworkUtil | Utility class used to perform network operations.
  Protocol | This class defines the protocol used to communicate between two virtual machines (e.g., Python and Java).
  ReturnObject | A ReturnObject wraps a value returned by a method.
  StringUtil | String utility class providing operations to escape and unescape new lines.

- Exception Summary
  Exception | Description
  --- | ---
  Py4JException | Exception raised when an error is encountered while using Py4J.
  Py4JJavaException | Exception raised when an exception is thrown in the client code.
  Py4JNetworkException | Exception raised when a network error is encountered while using Py4J.