Package org.rexxla.bsf.engines.rexx

# Interface RexxCommandHandler

All Superinterfaces:
  `RexxHandler`

All Known Subinterfaces:
  `RexxRedirectingCommandHandler`

All Known Implementing Classes:
  `AbstractDirectCommandHandler`, `AbstractRedirectingCommandHandler`, `JavaDrawingHandler`

public interface RexxCommandHandler extends RexxHandler
Interface class for Rexx command handlers. Cf. ooRexx' `rexxapi.pdf` documentation.

    ------------------------ Apache Version 2.0 license -------------------------
        Copyright (C) 2012-2022 Rony G. Flatscher

        Licensed under the Apache License, Version 2.0 (the "License");
        you may not use this file except in compliance with the License.
        You may obtain a copy of the License at

            http://www.apache.org/licenses/LICENSE-2.0

        Unless required by applicable law or agreed to in writing, software
        distributed under the License is distributed on an "AS IS" BASIS,
        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
        See the License for the specific language governing permissions and
        limitations under the License.
     -----------------------------------------------------------------------------

Since:
  2012-02-17 (BSF4ooRexx 641, baseline Java=6, ooRexx=4.1), 2022-08-18 (BSF4ooRexx 850, baseline Java=8, ooRexx=5.0)
Version:
  2.0
Author:
  Rony G. Flatscher

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `version`
  Version string indicating version of this class (majorVersion*100+minorVersion concatenated with a dot and the sorted date of last change.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Object`
  `handleCommand(Object slot, String address, String command)`
  Command handler signature (called via native code) according to the ooRexx API documentation in `rexxpg.pdf`.
  `default boolean`
  `isRedirectable()`
  Indicates that the command handler is not redirectable (a new feature in ooRexx 5.0).
  `default String`
  `toString(Object slot, String environmentName)`
  Create a string rendering of this environment handler.

  ### Methods inherited from interface org.rexxla.bsf.engines.rexx.RexxHandler

  `checkCondition, clearCondition, dropContextVariable, getAllContextVariables, getCallerContext, getConditionInfo, getContextVariable, getGlobalEnvironment, getInterpreterVersion, getLanguageLevel, getLocalEnvironment, getNil, haltThread, newArray, newDirectory, newStem, newStringTable, raiseCondition, raiseException, raiseException0, raiseException1, raiseException2, setContextVariable, setContextVariableToNil, setThreadTrace`

- ## Field Details

  - ### version

    static final String version
    Version string indicating version of this class (majorVersion*100+minorVersion concatenated with a dot and the sorted date of last change.
    See Also:
      - Constant Field Values

- ## Method Details

  - ### isRedirectable

    default boolean isRedirectable()
    Indicates that the command handler is not redirectable (a new feature in ooRexx 5.0).
    Returns:
      returns false

  - ### handleCommand

    Object handleCommand(Object slot, String address, String command)
    Command handler signature (called via native code) according to the ooRexx API documentation in `rexxpg.pdf`.
    Parameters:
      `slot` - this is an opaque `Object` argument which must be supplied unchanged to the direct Rexx API methods in `RexxHandler`
      `address` - a String denoting the name of the command environment for which this method got invoked
      `command` - a String containing the command passed from Rexx
    Returns:
      any value, which can be retrieved on the Rexx side via the variable `RC` (result code)

  - ### toString

    default String toString(Object slot, String environmentName)
    Create a string rendering of this environment handler.
    Parameters:
      `slot` - supply the received slot argument
      `environmentName` - supply the environment name this handler got defined for
    Returns:
      the string rendering of this instance