# Package org.rexxla.bsf.engines.rexx

- Interface Summary
  Interface | Description
  --- | ---
  RexxCommandHandler | Interface class for Rexx command handlers.
  RexxExitHandler | Interface class for Rexx exit handlers.
  RexxHandler | Abstract class to allow Rexx exit and command handlers implemented in Java to use some of the ooRexx exit APIs directly.
  RexxRedirectingCommandHandler | Interface class for Rexx redirecting command handlers.

- Class Summary
  Class | Description
  --- | ---
  AbstractDirectCommandHandler | Make it easy for Rexx programs to implement direct command handlers in Rexx.
  AbstractExitHandler | Make it easy for Rexx programs to implement direct command handlers in Rexx.
  AbstractRedirectingCommandHandler | Make it easy for Rexx programs to implement redirecting command handlers in Rexx.
  ArrayWrapper | This class serves as a wrapper for Java arrays.
  BsfSystemClipboard | This class employs the java.awt.datatransfer.Clipboard class and allows for setting (and getting from) the system clipboard Java images (java.awt.Image) and strings.
  ClassAdapter | This class creates a proxied Java class on the fly, which has concrete implementations for all abstract (inherited or not) methods.
  EnumerationWrapper | Class to allow Rexx enumerating objects of classes implementing the Enumeration interface, if running under Java 1.1.
  RexxAnalyzeRegistry | This class allows to analyze the registry maintained by RexxAndJava.java, it needs at least Java/OpenJDK version 8.
  RexxAnalyzeRegistry.AnalyzedCategory |
  RexxCleanupRef | With Java 9 Object.finalize() gets deprecated, therefore we use `PhantomReferences` for cleanup actions in these two cases: RexxAndJava.java: when the RexxEngine gets terminated we make sure that the peer RexxInterpreter gets terminated and removed from the list of available RexxInterpreter instances.
  RexxCompiledScript | Class that extends the `javax.script.CompiledScript` class and implements the `javax.script.Invocable` interface as this only makes sense in this class for `RexxCompiledScript.getInterface(Class clasz)`.
  RexxConfiguration | This class allows to configure a Rexx interpreter instance, before it gets created employing `RexxAndJava.createRexxInterpreterInstance(RexxConfiguration rc)`.
  RexxEngine | This class manages the calls from Java via JNI to Open Object Rexx (ooRexx).
  RexxProxy | This class allows RexxProxy objects to be created from native (JNI) code and will be registered in the BSFRegistry using the String retrievable by `RexxProxy.getBsfRegistryKey()`.
  RexxScriptEngine | Class that extends extends the `javax.script.ScriptEngine` class and implements the `javax.script.Compilalbe` and * the `javax.script.Invocable` interface, although the latter one would only make sense in `RexxCompiledScript` class, because of the `RexxScriptEngine.getInterface(Class clasz)` method.
  RexxScriptEngine.RexxAnnotation | Inner class for determining a RexxScript annotation, if one exists, the annotation field will refer to the appropriate enum value and all fields are filled in to ease processing of the script's code by the caller.
  RexxScriptEngineFactory | Class that implements the `javax.script.ScriptEngineFactory` interface for the ooRexx support.
  RexxStrictArgument | This class represents values which type must strictly match with the type in a signature.
  Supplier | Class modelled after the ooRexx class "Supplier".

- Enum Summary
  Enum | Description
  --- | ---
  RexxCleanupRef.RefKind | Defines the valid kinds of Rexx related resources to finalize.
  RexxScriptEngine.RexxAnnotation.RexxAnnotationEnum | The currently supported Rexx script annotation names need to be led in with an at (@) character, the name of the annotation and if values are supplied with it, then they must be given within parenthesis immediately following the annotation name.

- Exception Summary
  Exception | Description
  --- | ---
  RexxException | This class allows to create an exception which contains a reference to the Rexx condition object represented as a RexxProxy object, such that Java programs become able to directly interact with the Rexx condition object.