### *** This class provides Binary Compatibility only, not Source Compatibility ***

Package com.sas.services.deployment

# Class RMIBinding

java.lang.Object
com.sas.services.deployment.RMIBinding

All Implemented Interfaces:
  `DeployInterface`, `Serializable`

@SASScope("ALL") @BinaryCompatibilityOnly public final class RMIBinding extends Object implements DeployInterface, Serializable
RMI binding that associates an RMI remote object with a name bound to an RMI registry. The RMI registry information is specified by the associated `RMIConfiguration`.

Since:
  1.0
See Also:
  - `RMIConfiguration`
  - Serialized Form

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `BINDING_TYPE_BIND`
  RMI binding type: bind
  `static final String`
  `BINDING_TYPE_LOOKUP`
  RMI binding type: lookup
  `static final String`
  `BINDING_TYPE_REBIND`
  RMI binding type: rebind
  `static final String`
  `LOCALHOST`
  String constant denoting the local host.
  `static final short`
  `RMI_BINDING_BIND`
  RMI binding: bind remote to the RMI registry
  `static final short`
  `RMI_BINDING_INVALID`
  RMI binding: uninitialized
  `static final short`
  `RMI_BINDING_LOOKUP`
  RMI binding: lookup remote in the RMI registry
  `static final short`
  `RMI_BINDING_REBIND`
  RMI binding: rebind remote to the RMI registry

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `RMIBinding(RMIConfiguration rmiConfiguration, String bindName, short binding)`
  Constructor specifying the RMI configuration and the bind name for the RMI remote/activatable object.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `RemoteServiceInterface`
  `deploy()`
  Deploys the class in-process (within the same JVM).
  `ActivatableWrapper`
  `getActivatable()`
  Gets a wrapper class encapsulating an RMI activatable object.
  `static short`
  `getBinding(String bindingType)`
  Translates a string value representing the binding to a short.
  `String`
  `getBindName()`
  Gets the name by which the remote/activatable object is to be bound to the RMI registry.
  `Remote`
  `getRemoteObject()`
  Gets the remote object.
  `RMIConfiguration`
  `getRMIConfiguration()`
  Gets the RMI configuration, host and port, for this binding.
  `String`
  `getUrl()`
  Gets the URL used to access the RMI service via its bind name at the using the RMI configuration.
  `boolean`
  `isActivatable()`
  Determines whether or not this binding contains an RMI activatable object.
  `boolean`
  `isBind()`
  Determines whether or not the remote is associated with an RMI registry via a "bind".
  `boolean`
  `isNamingLookup()`
  Determines whether or not a naming lookup should be done to obtain a remote object..
  `boolean`
  `isRebind()`
  Gets the preference to rebind or bind when associating a remote with an RMI registry.
  `boolean`
  `isRegisterWithRMI()`
  Gets the preference to bind or not to bind a remote object to the RMI registry.
  `void`
  `setActivatable(ActivatableWrapper activatableWrapper)`
  Sets the activatable.
  `void`
  `setBinding(short bindingType)`
  Sets the RMI binding type.
  `void`
  `setBindName(String bindName)`
  Sets the name to be bound to the RMI registry.
  `void`
  `setRegisterWithRMI(boolean registerWithRMI)`
  Specifies whether or not to bind the remote object to the RMI registry.
  `void`
  `setRemoteObject(Remote remoteObject)`
  Sets the remote object to be bound to the RMI registry.
  `void`
  `setRMIConfiguration(RMIConfiguration rmiConfiguration)`
  Sets the RMI configuration that describes the host and port.
  `String`
  `toString()`
  Gets a string representation of this instance.
  `void`
  `unbind()`
  Removes the name binding from the RMI registry.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Field Details

  - ### LOCALHOST

    public static final String LOCALHOST
    String constant denoting the local host.
    See Also:
      - Constant Field Values

  - ### BINDING_TYPE_BIND

    public static final String BINDING_TYPE_BIND
    RMI binding type: bind
    See Also:
      - `BINDING_TYPE_REBIND`
      - `BINDING_TYPE_LOOKUP`
      - Constant Field Values

  - ### BINDING_TYPE_REBIND

    public static final String BINDING_TYPE_REBIND
    RMI binding type: rebind
    See Also:
      - `BINDING_TYPE_BIND`
      - `BINDING_TYPE_LOOKUP`
      - Constant Field Values

  - ### BINDING_TYPE_LOOKUP

    public static final String BINDING_TYPE_LOOKUP
    RMI binding type: lookup
    See Also:
      - `BINDING_TYPE_BIND`
      - `BINDING_TYPE_REBIND`
      - Constant Field Values

  - ### RMI_BINDING_INVALID

    public static final short RMI_BINDING_INVALID
    RMI binding: uninitialized
    See Also:
      - Constant Field Values

  - ### RMI_BINDING_BIND

    public static final short RMI_BINDING_BIND
    RMI binding: bind remote to the RMI registry
    See Also:
      - Constant Field Values

  - ### RMI_BINDING_REBIND

    public static final short RMI_BINDING_REBIND
    RMI binding: rebind remote to the RMI registry
    See Also:
      - Constant Field Values

  - ### RMI_BINDING_LOOKUP

    public static final short RMI_BINDING_LOOKUP
    RMI binding: lookup remote in the RMI registry
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### RMIBinding

    public RMIBinding(RMIConfiguration rmiConfiguration, String bindName, short binding) throws ServiceException
    Constructor specifying the RMI configuration and the bind name for the RMI remote/activatable object.
    Parameters:
      `rmiConfiguration` - RMI configuration in terms of the host and port.
      `bindName` - Name by which the RMI remote/activatable object is to be bound to the RMI registry.
      `binding` - RMI binding. One of
      - RMI_BINDING_BIND
      - RMI_BINDING_REBIND
      - RMI_BINDING_LOOKUP
    Throws:
      `ServiceException` - if unable to construct an RMI binding.

- ## Method Details

  - ### getBinding

    public static short getBinding(String bindingType)
    Translates a string value representing the binding to a short.
    Parameters:
      `bindingType` - RMI binding type which must be one of "RMI_REBIND", "RMI_BIND" or "RMI_LOOKUP".
    Returns:
      Code representing the RMI binding or `RMIBinding.RMI_BINDING_INVALID` if an invalid binding was specified.

  - ### setBinding

    public void setBinding(short bindingType) throws ServiceException
    Sets the RMI binding type. The type must be one of:
    - RMIBinding.RMI_BINDING_BIND
    - RMIBinding.RMI_BINDING_REBIND
    - RMIBinding.RMI_BINDING_LOOKUP
    Parameters:
      `bindingType` - RMI binding type.
    Throws:
      `ServiceException` - if an invalid binding type is specified.

  - ### getBindName

    public String getBindName()
    Gets the name by which the remote/activatable object is to be bound to the RMI registry.
    Returns:
      The name by which the remote/activatable object is to be bound to the RMI registry.

  - ### setBindName

    public void setBindName(String bindName)
    Sets the name to be bound to the RMI registry.
    Parameters:
      `bindName` - The name by which the remote/activatable object is to be bound.

  - ### isRegisterWithRMI

    public boolean isRegisterWithRMI()
    Gets the preference to bind or not to bind a remote object to the RMI registry.
    Returns:
      `true` if the remote is to be bound to the RMI registry.

  - ### isRebind

    public boolean isRebind()
    Gets the preference to rebind or bind when associating a remote with an RMI registry.
    Returns:
      `true` if the remote is to be associated with an RMI registry using a "rebind" which will replace any currently registered remote or `false` if a "bind" is desired. Note that if a "bind" is requested and a remote is already registered, then the registration will fail.

  - ### isBind

    public boolean isBind()
    Determines whether or not the remote is associated with an RMI registry via a "bind".
    Returns:
      `true` if the remote is to be associated with an RMI registry using a "bind".

  - ### isNamingLookup

    public boolean isNamingLookup()
    Determines whether or not a naming lookup should be done to obtain a remote object..
    Returns:
      `true` if a naming lookup should occur. If `false` then check isRebind() to determine whether a remote object should be registered with RMI via a rebind or bind operation.

  - ### setRegisterWithRMI

    public void setRegisterWithRMI(boolean registerWithRMI)
    Specifies whether or not to bind the remote object to the RMI registry.
    Parameters:
      `registerWithRMI` - `true` if the remote is to be bound to the RMI registry.

  - ### getRMIConfiguration

    public RMIConfiguration getRMIConfiguration()
    Gets the RMI configuration, host and port, for this binding.
    Returns:
      RMI configuration.

  - ### setRMIConfiguration

    public void setRMIConfiguration(RMIConfiguration rmiConfiguration)
    Sets the RMI configuration that describes the host and port.
    Parameters:
      `rmiConfiguration` - RMI configuration associated with this binding.

  - ### isActivatable

    public boolean isActivatable()
    Determines whether or not this binding contains an RMI activatable object.
    Returns:
      `true` if an activatable object is defined and `false` if one isn't defined.

  - ### getActivatable

    public ActivatableWrapper getActivatable()
    Gets a wrapper class encapsulating an RMI activatable object.
    Returns:
      A wrapper class containing an RMI activatable object.

  - ### setActivatable

    public void setActivatable(ActivatableWrapper activatableWrapper)
    Sets the activatable.
    Parameters:
      `activatableWrapper` - Wrapper encapsulating an RMI activatable object.

  - ### getRemoteObject

    public Remote getRemoteObject()
    Gets the remote object.
    Returns:
      Remote object.

  - ### setRemoteObject

    public void setRemoteObject(Remote remoteObject)
    Sets the remote object to be bound to the RMI registry.
    Parameters:
      `remoteObject` - Remote object to be bound to RMI.

  - ### getUrl

    public String getUrl()
    Gets the URL used to access the RMI service via its bind name at the using the RMI configuration.
    Returns:
      URL used to bind a name to an RMI registry.

  - ### deploy

    public RemoteServiceInterface deploy() throws ServiceException
    Deploys the class in-process (within the same JVM). The following deployment modes are supported:
    - Binding of a remote object to the RMI registry
    - Lookup of a preexisting remote object in the RMI registry
    Specified by:
      `deploy` in interface `DeployInterface`
    Returns:
      Deployed service.
    Throws:
      `ServiceException` - if unable to deploy the service.
    See Also:
      - `DeployInterface.deploy()`

  - ### toString

    public String toString()
    Gets a string representation of this instance. Intended for debugging purposes.
    Overrides:
      `toString` in class `Object`
    Returns:
      Debug statement describing this instance.

  - ### unbind

    public void unbind()
    Removes the name binding from the RMI registry.